mate-desktop / mate-session-manager

MATE session manager
https://mate-desktop.org
GNU General Public License v2.0
28 stars 35 forks source link

Switch to GDBus #314

Open NovaAndrom3da opened 3 months ago

NovaAndrom3da commented 3 months ago

According to the official dbus-glib documentation, it is obsolete and replaced by GDBus.

lukefromdc commented 3 months ago

Here's the current status of a stalled partial migration to gdbus:

https://github.com/mate-desktop/mate-session-manager/pull/170 migrated session saving

https://github.com/mate-desktop/mate-session-manager/pull/171 migrated mate-session/test-client-dbus.c

In https://github.com/mate-desktop/mate-session-manager/pull/208/files we see that in test-inhibit.c the code was migrated to gdbus but

include <dbus/dbus-glib.h>

was left in place at the top of the file. Building without it seemed to work fine, implying we are not using it anymore in this file

Apparently some of the other gdbus PR's did this too or for whatever reason these files are not using glib-dbus functions

In test-inhibit.c in main.c gsm-inhibitor.c main.c gsm-client.c gsm-util.c gsm-presence.c the only remaining reference to dbus-glib is an include, removing it did not stop the build from finishing

in gsm-systemd.c gsm-manager.c gsm-consolekid.c and dbus-client.c (probably the big one...) we are actually still using dbus-glib functions, removing the include breaks the build

lukefromdc commented 3 months ago

Uploaded https://github.com/mate-desktop/mate-session-manager/tree/gdbus-finish including all of the removed includes that allow the build to finish. This is the first half of what is needed for this, contributions for the other four files that still use glib-dbus welcome