X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=inline;f=cut-n-paste%2Ftotem-screensaver%2Ftotem-scrsaver.c;h=1990b0c11b5069978dc5b7d0dabce3693f5fc286;hb=61b14b7612531f6e67cc9783a104f7e7f761295d;hp=5d5a1f26743db23296f09aff202a1b10982e88a3;hpb=949bd66322de613217672824798fbc7973c8b314;p=evince.git diff --git a/cut-n-paste/totem-screensaver/totem-scrsaver.c b/cut-n-paste/totem-screensaver/totem-scrsaver.c index 5d5a1f26..1990b0c1 100644 --- a/cut-n-paste/totem-screensaver/totem-scrsaver.c +++ b/cut-n-paste/totem-screensaver/totem-scrsaver.c @@ -32,7 +32,6 @@ #include #ifdef ENABLE_DBUS -#include #include #define GS_SERVICE "org.gnome.ScreenSaver" @@ -189,13 +188,16 @@ gs_proxy_destroy_cb (GObject *proxy, } #endif +#ifdef ENABLE_DBUS static void -screensaver_init_dbus (TotemScrsaver *scr) +screensaver_init_dbus (TotemScrsaver *scr, DBusGConnection *connection) { -#ifdef ENABLE_DBUS GError *error = NULL; - scr->priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + if (!connection) + scr->priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + else + scr->priv->connection = connection; if (! scr->priv->connection) { if (error) { @@ -219,8 +221,8 @@ screensaver_init_dbus (TotemScrsaver *scr) } -#endif /* ENABLE_DBUS */ } +#endif /* ENABLE_DBUS */ static void screensaver_finalize_dbus (TotemScrsaver *scr) @@ -356,19 +358,35 @@ totem_scrsaver_class_init (TotemScrsaverClass *klass) object_class->finalize = totem_scrsaver_finalize; } +#ifdef ENABLE_DBUS +TotemScrsaver * +totem_scrsaver_new (DBusGConnection *connection) +{ + TotemScrsaver * scr; + scr = TOTEM_SCRSAVER (g_object_new (TOTEM_TYPE_SCRSAVER, NULL)); + + screensaver_init_dbus (scr, connection); + screensaver_init_x11 (scr); + + return scr; +} +#else TotemScrsaver * -totem_scrsaver_new (void) +totem_scrsaver_new() { - return TOTEM_SCRSAVER (g_object_new (TOTEM_TYPE_SCRSAVER, NULL)); + TotemScrsaver * scr; + scr = TOTEM_SCRSAVER (g_object_new (TOTEM_TYPE_SCRSAVER, NULL)); + + screensaver_init_x11 (scr); + + return scr; } +#endif static void totem_scrsaver_init (TotemScrsaver *scr) { scr->priv = g_new0 (TotemScrsaverPrivate, 1); - - screensaver_init_dbus (scr); - screensaver_init_x11 (scr); } void