Merge lp:~ted/indicator-session/screensaver-proxy-on-request into lp:indicator-session/0.1

Proposed by Ted Gould
Status: Merged
Merged at revision: not available
Proposed branch: lp:~ted/indicator-session/screensaver-proxy-on-request
Merge into: lp:indicator-session/0.1
Diff against target: 79 lines (+22/-12)
1 file modified
src/lock-helper.c (+22/-12)
To merge this branch: bzr merge lp:~ted/indicator-session/screensaver-proxy-on-request
Reviewer Review Type Date Requested Status
Indicator Applet Developers Pending
Review via email: mp+18853@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Ted Gould (ted) wrote :

Only building the proxy when we try to do something with the proxy.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/lock-helper.c'
2--- src/lock-helper.c 2010-02-05 00:59:30 +0000
3+++ src/lock-helper.c 2010-02-08 17:00:30 +0000
4@@ -35,6 +35,8 @@
5
6 static gdm_autologin_cb_t gdm_autologin_cb = NULL;
7
8+void build_gss_proxy (void);
9+
10 /* Checks to see if there is an error and reports
11 it. Not much else we can do. */
12 static void
13@@ -56,6 +58,9 @@
14 {
15 g_return_if_fail(cookie != 0);
16
17+ build_gss_proxy();
18+ g_return_if_fail(gss_proxy != NULL);
19+
20 dbus_g_proxy_begin_call(gss_proxy, "UnThrottle",
21 unthrottle_return, NULL,
22 NULL,
23@@ -103,6 +108,9 @@
24 screensaver_unthrottle();
25 }
26
27+ build_gss_proxy();
28+ g_return_if_fail(gss_proxy != NULL);
29+
30 cookie_call = dbus_g_proxy_begin_call(gss_proxy, "Throttle",
31 throttle_return, NULL,
32 NULL,
33@@ -245,17 +253,19 @@
34 void
35 build_gss_proxy (void)
36 {
37- DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
38- g_return_if_fail(session_bus != NULL);
39-
40- gss_proxy = dbus_g_proxy_new_for_name(session_bus,
41- "org.gnome.ScreenSaver",
42- "/",
43- "org.gnome.ScreenSaver");
44- g_return_if_fail(gss_proxy != NULL);
45-
46- dbus_g_proxy_add_signal(gss_proxy, "ActiveChanged", G_TYPE_BOOLEAN, G_TYPE_INVALID);
47- dbus_g_proxy_connect_signal(gss_proxy, "ActiveChanged", G_CALLBACK(gss_active_changed), NULL, NULL);
48+ if (gss_proxy == NULL) {
49+ DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
50+ g_return_if_fail(session_bus != NULL);
51+
52+ gss_proxy = dbus_g_proxy_new_for_name(session_bus,
53+ "org.gnome.ScreenSaver",
54+ "/",
55+ "org.gnome.ScreenSaver");
56+ g_return_if_fail(gss_proxy != NULL);
57+
58+ dbus_g_proxy_add_signal(gss_proxy, "ActiveChanged", G_TYPE_BOOLEAN, G_TYPE_INVALID);
59+ dbus_g_proxy_connect_signal(gss_proxy, "ActiveChanged", G_CALLBACK(gss_active_changed), NULL, NULL);
60+ }
61
62 return;
63 }
64@@ -286,6 +296,7 @@
65 return;
66 }
67
68+ build_gss_proxy();
69 g_return_if_fail(gss_proxy != NULL);
70
71 dbus_g_proxy_call_no_reply(gss_proxy,
72@@ -318,7 +329,6 @@
73 }
74
75 build_gdm_proxy();
76- build_gss_proxy();
77
78 return FALSE;
79 }

Subscribers

People subscribed via source and target branches