Ticket #4914: lxsession-0.4.9.2-fix-logind-dbus-calls.patch
| File lxsession-0.4.9.2-fix-logind-dbus-calls.patch, 2.8 KB (added by , 12 years ago) |
|---|
-
lxsession-0.4.9.2/lxsession-logout/dbus-interface.c
old new 244 244 return function_result; 245 245 } 246 246 247 static void248 logind_call_function (const gchar *function , gboolean value, GError **error)247 static char * 248 logind_call_function (const gchar *function) 249 249 { 250 250 GVariant *result; 251 GError *err = NULL; 251 252 252 253 if (!logind_proxy) 253 254 { … … 258 259 "/org/freedesktop/login1", 259 260 "org.freedesktop.login1.Manager", 260 261 NULL, 261 error); 262 &err); 263 if (err != NULL) 264 g_error_free(err); 262 265 if (!logind_proxy) 263 return ;266 return NULL; 264 267 } 265 268 266 269 result = g_dbus_proxy_call_sync (logind_proxy, 267 270 function, 268 g_variant_new ("(b)", value),271 g_variant_new ("(b)", TRUE), 269 272 G_DBUS_CALL_FLAGS_NONE, 270 273 -1, 271 274 NULL, 272 error); 273 g_variant_unref (result); 274 return; 275 &err); 276 if (result) 277 g_variant_unref (result); 278 if (err != NULL) { 279 char *r = strdup(err->message); 280 g_error_free(err); 281 return r; 282 } 283 return NULL; 275 284 } 276 285 277 286 gboolean … … 280 289 return logind_query ("CanPowerOff", FALSE, NULL); 281 290 } 282 291 283 void 284 dbus_logind_PowerOff ( GError **error)292 char * 293 dbus_logind_PowerOff (void) 285 294 { 286 logind_call_function ("PowerOff", TRUE, error);295 return logind_call_function ("PowerOff"); 287 296 } 288 297 289 298 gboolean … … 292 301 return logind_query ("CanReboot", FALSE, NULL); 293 302 } 294 303 295 void 296 dbus_logind_Reboot ( GError **error)304 char * 305 dbus_logind_Reboot (void) 297 306 { 298 logind_call_function ("Reboot", TRUE, error);307 return logind_call_function ("Reboot"); 299 308 } 300 309 301 310 gboolean … … 304 313 return logind_query ("CanSuspend", FALSE, NULL); 305 314 } 306 315 307 void 308 dbus_logind_Suspend ( GError **error)316 char * 317 dbus_logind_Suspend (void) 309 318 { 310 logind_call_function ("Suspend", TRUE, error);319 return logind_call_function ("Suspend"); 311 320 } 312 321 313 322 gboolean … … 316 325 return logind_query ("CanHibernate", FALSE, NULL); 317 326 } 318 327 319 void 320 dbus_logind_Hibernate ( GError **error)328 char * 329 dbus_logind_Hibernate (void) 321 330 { 322 logind_call_function ("Hibernate", TRUE, error);331 return logind_call_function ("Hibernate"); 323 332 } 324 333 325 334 /*** ConsoleKit mechanism ***/
