1. 26 May, 2021 1 commit
  2. 25 May, 2021 1 commit
  3. 23 May, 2021 2 commits
  4. 22 May, 2021 1 commit
  5. 17 May, 2021 1 commit
  6. 15 May, 2021 1 commit
  7. 14 May, 2021 1 commit
  8. 13 May, 2021 1 commit
  9. 11 May, 2021 1 commit
  10. 09 May, 2021 1 commit
  11. 08 May, 2021 1 commit
  12. 06 May, 2021 1 commit
  13. 05 May, 2021 1 commit
  14. 04 May, 2021 2 commits
  15. 03 May, 2021 2 commits
  16. 02 May, 2021 1 commit
  17. 28 Apr, 2021 1 commit
  18. 25 Apr, 2021 1 commit
  19. 24 Apr, 2021 1 commit
  20. 23 Apr, 2021 1 commit
  21. 22 Apr, 2021 4 commits
  22. 20 Apr, 2021 1 commit
  23. 17 Apr, 2021 1 commit
  24. 15 Apr, 2021 3 commits
    • Gaël Bonithon's avatar
      Fix exit procedure when plugin insertion failed · 5116dcb3
      Gaël Bonithon authored
      * Do not destroy the plugin twice
      * Do not try to watch child if pid == 0
      * Reset source id after removing it
      5116dcb3
    • Gaël Bonithon's avatar
      libxfce4panel: Review memory management for context menu · c7c5a261
      Gaël Bonithon authored
      There should be no `g_object_unref()` in a "destroy" signal handler,
      particularly when the widget destruction, and therefore the signal
      emission, are triggered by a previous `g_object_unref()`. This is the
      cause of a GObject-CRITICAL here, that appears for example when
      removing a workspace switcher (pager plugin) via its context menu.
      
      More generally, the memory management of custom menu items should be
      simplified:
      * use `g_slist_free_full()` to free the maintained items list;
      * let GTK take care of its part of memory management when the menu is
        destroyed (by one means or another).
      
      Fixes #452, see !46 for more details.
      c7c5a261
    • Gaël Bonithon's avatar
      panel: Mitigate a memory leak when removing items · 6b671b0d
      Gaël Bonithon authored
      Sometimes, maybe most of the time, panel items are not finalized when
      they are removed from the panel. For lack of being able to find the
      reason why extra references accumulate, this commit eliminates them
      after the item has been removed from the panel and all priority
      operations have been performed, until triggering the destruction of the
      item.
      
      Beyond the beneficial effect on memory, this also avoids potential
      crashes due to the reuse of data supposed to be freed, such as
      typically the dbus path.
      
      See !46 for more details.
      6b671b0d
  25. 12 Apr, 2021 2 commits
  26. 01 Apr, 2021 1 commit
  27. 23 Mar, 2021 1 commit
  28. 22 Mar, 2021 4 commits
    • Gaël Bonithon's avatar
      panel: Fix xfce4-panel-CRITICAL when already running · 468e5c45
      Gaël Bonithon authored
      `panel_dbus_service_is_exported()` is not the right test to know if an
      instance is already running. Instead, let's follow the documentation of
      `g_bus_own_name()`:
      * if `panel_dbus_name_lost()` is called and `connection == NULL`, there
        is a dbus issue;
      * if `panel_dbus_name_lost()` is called and `connection != NULL`, the
        name can't be acquired, which means that there is an already running
        instance if `G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT` is not set
        (which is currently the case for xfce4-panel);
      * `application != NULL` if and only if `panel_dbus_name_acquired()` is
        called, if and only if `panel_dbus_name_lost()` is not called.
      468e5c45
    • Gaël Bonithon's avatar
      systray: Fix GObject-CRITICAL · 07e765d5
      Gaël Bonithon authored
      The SnItem may have already been released when this operation is
      performed asynchronously, as in `sn_item_get_all_properties_result()`.
      07e765d5
    • Gaël Bonithon's avatar
      systray: Fix libsystray-CRITICAL · a64abe84
      Gaël Bonithon authored
      Connect to the "g-signal" signal of GDBusProxy after its properties are
      set, so that calling `sn_item_invalidate()` always makes sense, and the
      timeout workaround should no longer be necessary.
      a64abe84
    • Gaël Bonithon's avatar
      panel: Fix xfce4-panel-CRITICAL · 57eb27c1
      Gaël Bonithon authored
      This is triggered for example by playing with window drag and drop in
      the taskbar: see !43 for more details.
      57eb27c1