diff --git a/x11/gnome/controlcenter/Makefile b/x11/gnome/controlcenter/Makefile index 8497fd1452d..45c915b5977 100644 --- a/x11/gnome/controlcenter/Makefile +++ b/x11/gnome/controlcenter/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.118 2014/02/03 18:23:54 ajacoutot Exp $ +# $OpenBSD: Makefile,v 1.119 2014/02/04 14:49:53 ajacoutot Exp $ # XXX change proxy settings without network-manager? @@ -8,7 +8,7 @@ COMMENT= GNOME control center GNOME_PROJECT= gnome-control-center GNOME_VERSION= 3.10.2 -REVISION= 0 +REVISION= 1 CATEGORIES= x11 diff --git a/x11/gnome/controlcenter/patches/patch-panels_region_cc-region-panel_c b/x11/gnome/controlcenter/patches/patch-panels_region_cc-region-panel_c index 27b6de82e14..bb53e58db8b 100644 --- a/x11/gnome/controlcenter/patches/patch-panels_region_cc-region-panel_c +++ b/x11/gnome/controlcenter/patches/patch-panels_region_cc-region-panel_c @@ -1,25 +1,39 @@ -$OpenBSD: patch-panels_region_cc-region-panel_c,v 1.1 2014/02/03 18:23:54 ajacoutot Exp $ +$OpenBSD: patch-panels_region_cc-region-panel_c,v 1.2 2014/02/04 14:49:53 ajacoutot Exp $ -https://bugzilla.gnome.org/show_bug.cgi?id=723550 +From c5268f8a4b4c9c3ebbaf68321bca7c37a8d66caa Mon Sep 17 00:00:00 2001 +From: Antoine Jacoutot +Date: Tue, 04 Feb 2014 14:09:48 +0000 +Subject: region-panel: do not show Login button if localed is not available ---- panels/region/cc-region-panel.c.orig Tue Nov 12 17:18:28 2013 -+++ panels/region/cc-region-panel.c Mon Feb 3 19:03:00 2014 -@@ -1723,11 +1723,13 @@ setup_login_button (CcRegionPanel *self) - G_CALLBACK (login_changed), self); +--- panels/region/cc-region-panel.c.orig Tue Feb 4 14:52:47 2014 ++++ panels/region/cc-region-panel.c Tue Feb 4 14:58:44 2014 +@@ -172,8 +172,9 @@ cc_region_panel_constructed (GObject *object) - g_object_get (priv->user_manager, "is-loaded", &loaded, NULL); -- if (loaded) -- set_login_button_visibility (self); -- else -- g_signal_connect_swapped (priv->user_manager, "notify::is-loaded", -- G_CALLBACK (set_login_button_visibility), self); -+ if (priv->permission) { -+ if (loaded) -+ set_login_button_visibility (self); -+ else -+ g_signal_connect_swapped (priv->user_manager, "notify::is-loaded", -+ G_CALLBACK (set_login_button_visibility), self); -+ } + G_OBJECT_CLASS (cc_region_panel_parent_class)->constructed (object); + +- cc_shell_embed_widget_in_header (cc_panel_get_shell (CC_PANEL (object)), +- priv->login_button); ++ if (priv->permission) ++ cc_shell_embed_widget_in_header (cc_panel_get_shell (CC_PANEL (object)), ++ priv->login_button); } - static void + static const char * +@@ -1698,8 +1699,16 @@ setup_login_button (CcRegionPanel *self) + CcRegionPanelPrivate *priv = self->priv; + GDBusConnection *bus; + gboolean loaded; ++ GError *error = NULL; + +- priv->permission = polkit_permission_new_sync ("org.freedesktop.locale1.set-locale", NULL, NULL, NULL); ++ priv->permission = polkit_permission_new_sync ("org.freedesktop.locale1.set-locale", NULL, NULL, &error); ++ if (priv->permission == NULL) { ++ g_warning ("Could not get 'org.freedesktop.locale1.set-locale' permission: %s", ++ error->message); ++ g_error_free (error); ++ return; ++ } ++ + bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); + g_dbus_proxy_new (bus, + G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,