diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/apt-watcher.c | 17 | ||||
-rw-r--r-- | src/gtk-logout-helper.c | 4 | ||||
-rw-r--r-- | src/indicator-session.c | 4 | ||||
-rw-r--r-- | src/users-service-dbus.c | 36 |
4 files changed, 19 insertions, 42 deletions
diff --git a/src/apt-watcher.c b/src/apt-watcher.c index 2c5ed0b..d8bb7e2 100644 --- a/src/apt-watcher.c +++ b/src/apt-watcher.c @@ -177,8 +177,6 @@ apt_watcher_on_name_appeared (GDBusConnection *connection, "the system bus", name_owner); - apt_watcher_query_reboot_status (user_data); - g_dbus_proxy_call (watcher->proxy, "UpgradeSystem", g_variant_new("(b)", TRUE), @@ -299,6 +297,15 @@ apt_watcher_transaction_state_real_update_cb (AptTransaction* trans, if (self->current_state != UPGRADE_IN_PROGRESS){ query_again = TRUE; } + else{ + if (self->reboot_query != 0){ + g_source_remove (self->reboot_query); + self->reboot_query = 0; + } + self->reboot_query = g_timeout_add_seconds (1, + apt_watcher_query_reboot_status, + self); + } self->current_state = state; g_object_unref (G_OBJECT(self->current_transaction)); @@ -383,7 +390,7 @@ apt_watcher_query_reboot_status (gpointer data) GVariant* reboot_result = g_dbus_proxy_get_cached_property (self->proxy, "RebootRequired"); - gboolean reboot; + gboolean reboot = FALSE; g_variant_get (reboot_result, "b", &reboot); g_debug ("apt_watcher_query_reboot_status: reboot prop = %i", reboot); if (reboot == FALSE){ @@ -398,7 +405,7 @@ apt_watcher_query_reboot_status (gpointer data) else{ dbusmenu_menuitem_property_set (self->apt_item, DBUSMENU_MENUITEM_PROP_LABEL, - _("Restart to complete updates…")); + _("Restart to Complete Updates…")); dbusmenu_menuitem_property_set (self->apt_item, DBUSMENU_MENUITEM_PROP_DISPOSITION, DBUSMENU_MENUITEM_DISPOSITION_ALERT); @@ -461,7 +468,7 @@ static void apt_watcher_signal_cb ( GDBusProxy* proxy, if (reboot_required){ dbusmenu_menuitem_property_set (self->apt_item, DBUSMENU_MENUITEM_PROP_LABEL, - _("Restart to complete updates…")); + _("Restart to Complete Updates…")); dbusmenu_menuitem_property_set (self->apt_item, DBUSMENU_MENUITEM_PROP_DISPOSITION, DBUSMENU_MENUITEM_DISPOSITION_ALERT); diff --git a/src/gtk-logout-helper.c b/src/gtk-logout-helper.c index 9c1e6dd..1975121 100644 --- a/src/gtk-logout-helper.c +++ b/src/gtk-logout-helper.c @@ -55,6 +55,7 @@ consolekit_fallback (LogoutDialogType action) dbus_g_proxy_call(proxy, "Stop", &error, + G_TYPE_INVALID, G_TYPE_INVALID); break; case LOGOUT_DIALOG_TYPE_RESTART: @@ -62,6 +63,7 @@ consolekit_fallback (LogoutDialogType action) dbus_g_proxy_call(proxy, "Restart", &error, + G_TYPE_INVALID, G_TYPE_INVALID); break; default: @@ -72,7 +74,7 @@ consolekit_fallback (LogoutDialogType action) g_object_unref(proxy); if (error != NULL) { - g_error("Unable to signal ConsoleKit"); + g_warning("Unable to signal ConsoleKit"); g_error_free(error); } diff --git a/src/indicator-session.c b/src/indicator-session.c index 833d19b..9510807 100644 --- a/src/indicator-session.c +++ b/src/indicator-session.c @@ -509,11 +509,11 @@ receive_signal (GDBusProxy * proxy, } else if (g_strcmp0(signal_name, "RestartRequired") == 0) { if (greeter_mode == TRUE){ - self->devices.image = indicator_image_helper (GREETER_ICON_RESTART); + indicator_image_helper_update(self->devices.image, GREETER_ICON_RESTART); } else{ g_debug ("reboot required"); - self->devices.image = indicator_image_helper (ICON_RESTART); + indicator_image_helper_update(self->devices.image, ICON_RESTART); } } } diff --git a/src/users-service-dbus.c b/src/users-service-dbus.c index 0bab8c8..971b854 100644 --- a/src/users-service-dbus.c +++ b/src/users-service-dbus.c @@ -203,40 +203,10 @@ static void create_display_manager_proxy (UsersServiceDbus *self) { UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self); - DBusGProxy *dm_proxy = NULL; GError *error = NULL; - const gchar *cookie = NULL; - gchar *seat = NULL; + const gchar *seat = NULL; - cookie = g_getenv ("XDG_SESSION_COOKIE"); - if (cookie == NULL || cookie[0] == 0) - { - g_warning ("Failed to get DisplayManager proxy: XDG_SESSION_COOKIE undefined."); - return; - } - - dm_proxy = dbus_g_proxy_new_for_name (priv->system_bus, - "org.freedesktop.DisplayManager", - "/org/freedesktop/DisplayManager", - "org.freedesktop.DisplayManager"); - - if (!dm_proxy) - { - g_warning ("Failed to get DisplayManager proxy."); - return; - } - - /* Now request the proper seat */ - if (!dbus_g_proxy_call (dm_proxy, "GetSeatForCookie", &error, - G_TYPE_STRING, cookie, G_TYPE_INVALID, - DBUS_TYPE_G_OBJECT_PATH, &seat, G_TYPE_INVALID)) - { - g_warning ("Failed to get DisplayManager seat proxy: %s", error->message); - g_object_unref (dm_proxy); - g_error_free (error); - return; - } - g_object_unref (dm_proxy); + seat = g_getenv ("XDG_SEAT_PATH"); g_debug ("CREATING DM PROXIES WITH %s", seat); priv->display_manager_proxy = dbus_g_proxy_new_for_name (priv->system_bus, "org.freedesktop.DisplayManager", @@ -249,8 +219,6 @@ create_display_manager_proxy (UsersServiceDbus *self) "org.freedesktop.DBus.Properties"); - g_free (seat); - if (!priv->display_manager_proxy) { g_warning ("Failed to get DisplayManager seat proxy."); |