Merge branch 'wip/exalm/screensaver' into 'gtk-3-24'
gtkapplication-dbus: Initialise screensaver-active property See merge request GNOME/gtk!2716
This commit is contained in:
@ -329,8 +329,31 @@ gtk_application_impl_dbus_startup (GtkApplicationImpl *impl,
|
|||||||
|
|
||||||
if (dbus->ss_proxy)
|
if (dbus->ss_proxy)
|
||||||
{
|
{
|
||||||
|
GVariant *active_var;
|
||||||
|
gboolean active;
|
||||||
|
|
||||||
g_signal_connect (dbus->ss_proxy, "g-signal",
|
g_signal_connect (dbus->ss_proxy, "g-signal",
|
||||||
G_CALLBACK (screensaver_signal_session), impl->application);
|
G_CALLBACK (screensaver_signal_session), impl->application);
|
||||||
|
|
||||||
|
active_var = g_dbus_proxy_call_sync (dbus->ss_proxy,
|
||||||
|
"GetActive",
|
||||||
|
NULL,
|
||||||
|
G_DBUS_CALL_FLAGS_NONE,
|
||||||
|
G_MAXINT,
|
||||||
|
NULL,
|
||||||
|
&error);
|
||||||
|
if (!active_var)
|
||||||
|
{
|
||||||
|
g_debug ("Error calling GetActive on GNOME screensaver: %s",
|
||||||
|
error->message);
|
||||||
|
g_clear_error (&error);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_variant_get (active_var, "(b)", &active);
|
||||||
|
g_variant_unref (active_var);
|
||||||
|
gtk_application_set_screensaver_active (dbus->impl.application, active);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_debug ("Registering client '%s' '%s'", dbus->application_id, client_id);
|
g_debug ("Registering client '%s' '%s'", dbus->application_id, client_id);
|
||||||
|
|||||||
Reference in New Issue
Block a user