Hello community,

here is the log from the commit of package gnome-control-center for 
openSUSE:Factory checked in at 2014-11-10 17:27:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-control-center (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-control-center.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-control-center"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gnome-control-center/gnome-control-center.changes    
    2014-10-23 14:19:54.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.gnome-control-center.new/gnome-control-center.changes
   2014-11-10 17:27:52.000000000 +0100
@@ -1,0 +2,18 @@
+Mon Nov  3 14:55:37 UTC 2014 - [email protected]
+
+- Downgrade cups-pk-helper Requires to Recommends (boo#904047)
+- Add gnome-control-center-follow-polkit-permissions-for-tz.patch
+  to allow timezone changes by user if permitted by polkit
+  permissions (boo#904058)
+- Add patches from upstream for critical issues:
+  + gnome-control-center-no-country-code-crash.patch: fix
+    a crash for locales with no country codes (boo#904071,
+    bgo#738963)
+  + gnome-control-center-user-account-cheese-crash.patch:
+    user-account -- do not crash while taking a picture for user
+    avatar using cheese (boo#904070, bgo#697039)
+  + gnome-control-center-crash-when-date-unavailable.patch:
+    background -- do not crash when date is unavailable
+    (boo#904073, bgo#736475).
+
+-------------------------------------------------------------------

New:
----
  gnome-control-center-crash-when-date-unavailable.patch
  gnome-control-center-follow-polkit-permissions-for-tz.patch
  gnome-control-center-no-country-code-crash.patch
  gnome-control-center-user-account-cheese-crash.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-control-center.spec ++++++
--- /var/tmp/diff_new_pack.4Xxbcf/_old  2014-11-10 17:27:53.000000000 +0100
+++ /var/tmp/diff_new_pack.4Xxbcf/_new  2014-11-10 17:27:53.000000000 +0100
@@ -45,6 +45,14 @@
 Patch15:        gcc-private-connection.patch
 # PATCH-FIX-UPSTREAM gnome-control-center-probe-radius-server-cert.patch 
bnc#574266 [email protected] -- network: Probe the RADIUS server certificate
 Patch16:        gnome-control-center-probe-radius-server-cert.patch
+# PATCH-FEATURE-OPENSUSE 
gnome-control-center-follow-polkit-permissions-for-tz.patch boo#904058 
[email protected] -- Follow polkit permissions for allowing/locking timezone 
setting changes
+Patch17:        gnome-control-center-follow-polkit-permissions-for-tz.patch
+# PATCH-FIX-UPSTREAM gnome-control-center-user-account-cheese-crash.patch 
boo#904070 bgo#697039 [email protected] -- user-account: Do not crash while 
taking a picture for user avatar using cheese, patch taken from upstream git
+Patch18:        gnome-control-center-user-account-cheese-crash.patch
+# PATCH-FIX-UPSTREAM gnome-control-center-crash-when-date-unavailable.patch 
boo#904073 bgo#736475 [email protected] -- background: Do not crash when 
date is unavailable, patch taken from upstream git
+Patch19:        gnome-control-center-crash-when-date-unavailable.patch
+# PATCH-FIX-UPSTREAM gnome-control-center-no-country-code-crash.patch 
boo#904071 bgo#738963 [email protected] -- region: don't crash for locales 
with no country_code, patch taken from upstream git
+Patch20:        gnome-control-center-no-country-code-crash.patch
 BuildRequires:  cups-devel
 BuildRequires:  desktop-file-utils
 BuildRequires:  fdupes
@@ -105,7 +113,6 @@
 # needed for glxinfo, used by System info panel
 Requires:       Mesa-demo-x
 # needed for printers panel
-Requires:       cups-pk-helper
 Requires:       gnome-menus
 Requires:       gnome-settings-daemon
 # needed for universal access panel
@@ -117,6 +124,8 @@
 Requires:       nautilus
 Recommends:     %{name}-lang
 Recommends:     %{name}-user-faces
+# cups-pk-helper should only be recommended, rather than a hard Requires, see 
boo#904047
+Recommends:     cups-pk-helper
 Recommends:     dbus(com.intel.dleyna-server)
 # the printers panel can use the dbus service
 Recommends:     system-config-printer-dbus-service
@@ -178,6 +187,10 @@
 %patch1 -p1
 %patch15 -p1
 %patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
 #NEEDS-REBASE
 #patch14 -p1
 

++++++ gnome-control-center-crash-when-date-unavailable.patch ++++++
>From 57aab756e9d67d6420bcb651537e45930a257aa2 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <[email protected]>
Date: Mon, 20 Oct 2014 13:41:21 +0200
Subject: background: Fix possible crash when date isn't available

https://bugzilla.gnome.org/show_bug.cgi?id=736475

diff --git a/panels/background/bg-pictures-source.c 
b/panels/background/bg-pictures-source.c
index c165fa3..1dcce19 100644
--- a/panels/background/bg-pictures-source.c
+++ b/panels/background/bg-pictures-source.c
@@ -571,7 +571,12 @@ add_single_file_from_media (BgPicturesSource *bg_source,
    * plugin, GRL_METADATA_KEY_MODIFICATION_DATE is not
    */
   mtime = grl_media_get_creation_date (media);
-  mtime_unix = g_date_time_to_unix (mtime);
+  if (!mtime)
+    mtime = grl_media_get_modification_date (media);
+  if (mtime)
+    mtime_unix = g_date_time_to_unix (mtime);
+  else
+    mtime_unix = g_get_real_time () / G_USEC_PER_SEC;
 
   return add_single_file (bg_source, file, content_type, (guint64) mtime_unix, 
NULL);
 }
-- 
cgit v0.10.1


++++++ gnome-control-center-follow-polkit-permissions-for-tz.patch ++++++
Index: gnome-control-center-3.14.1/panels/datetime/cc-datetime-panel.c
===================================================================
--- gnome-control-center-3.14.1.orig/panels/datetime/cc-datetime-panel.c
+++ gnome-control-center-3.14.1/panels/datetime/cc-datetime-panel.c
@@ -59,6 +59,7 @@ enum {
 #define W(x) (GtkWidget*) gtk_builder_get_object (priv->builder, x)
 
 #define DATETIME_PERMISSION "org.gnome.controlcenter.datetime.configure"
+#define DATETIME_TZ_PERMISSION "org.freedesktop.timedate1.set-timezone"
 
 #define CLOCK_SCHEMA "org.gnome.desktop.interface"
 #define CLOCK_FORMAT_KEY "clock-format"
@@ -99,6 +100,7 @@ struct _CcDateTimePanelPrivate
   GCancellable *cancellable;
 
   GPermission *permission;
+  GPermission *tz_permission;
 };
 
 static void update_time (CcDateTimePanel *self);
@@ -133,6 +135,7 @@ cc_date_time_panel_dispose (GObject *obj
   g_clear_object (&priv->clock_tracker);
   g_clear_object (&priv->dtm);
   g_clear_object (&priv->permission);
+  g_clear_object (&priv->tz_permission);
   g_clear_object (&priv->clock_settings);
   g_clear_object (&priv->datetime_settings);
   g_clear_object (&priv->filechooser_settings);
@@ -777,24 +780,24 @@ on_permission_changed (GPermission *perm
                        gpointer     data)
 {
   CcDateTimePanelPrivate *priv = CC_DATE_TIME_PANEL (data)->priv;
-  gboolean allowed, auto_timezone, using_ntp;
+  gboolean allowed, tz_allowed, auto_timezone, using_ntp;
 
   allowed = (priv->permission == NULL || g_permission_get_allowed 
(priv->permission));
+  tz_allowed = (priv->tz_permission == NULL || g_permission_get_allowed 
(priv->tz_permission));
   using_ntp = gtk_switch_get_active (GTK_SWITCH (W("network_time_switch")));
   auto_timezone = gtk_switch_get_active (GTK_SWITCH 
(W("auto_timezone_switch")));
 
   /* All the widgets but the lock button and the 24h setting */
   gtk_widget_set_sensitive (W("auto-datetime-row"), allowed);
-  gtk_widget_set_sensitive (W("auto-timezone-row"), allowed);
+  gtk_widget_set_sensitive (W("auto-timezone-row"), allowed || tz_allowed);
   gtk_widget_set_sensitive (W("datetime-button"), allowed && !using_ntp);
-  gtk_widget_set_sensitive (W("timezone-button"), allowed && !auto_timezone);
+  gtk_widget_set_sensitive (W("timezone-button"), (allowed || tz_allowed) && 
!auto_timezone);
 
   /* Hide the subdialogs if we no longer have permissions */
   if (!allowed)
-    {
       gtk_widget_hide (GTK_WIDGET (W ("datetime-dialog")));
+  if (!allowed && !tz_allowed)
       gtk_widget_hide (GTK_WIDGET (W ("timezone-dialog")));
-    }
 }
 
 static void
@@ -886,6 +889,25 @@ run_dialog (CcDateTimePanel *self,
 }
 
 static gboolean
+tz_switch_to_row_transform_func (GBinding        *binding,
+                                 const GValue    *source_value,
+                                 GValue          *target_value,
+                                 CcDateTimePanel *self)
+{
+  CcDateTimePanelPrivate *priv = self->priv;
+  gboolean active;
+  gboolean allowed;
+
+  active = g_value_get_boolean (source_value);
+  allowed = (priv->permission == NULL || g_permission_get_allowed 
(priv->permission)) ||
+            (priv->tz_permission == NULL || g_permission_get_allowed 
(priv->tz_permission));
+
+  g_value_set_boolean (target_value, !active && allowed);
+
+  return TRUE;
+}
+
+static gboolean
 switch_to_row_transform_func (GBinding        *binding,
                               const GValue    *source_value,
                               GValue          *target_value,
@@ -1241,6 +1263,7 @@ cc_date_time_panel_init (CcDateTimePanel
 
   /* add the lock button */
   priv->permission = polkit_permission_new_sync (DATETIME_PERMISSION, NULL, 
NULL, NULL);
+  priv->tz_permission = polkit_permission_new_sync (DATETIME_TZ_PERMISSION, 
NULL, NULL, NULL);
   if (priv->permission != NULL)
     {
       g_signal_connect (priv->permission, "notify",
@@ -1278,9 +1301,11 @@ cc_date_time_panel_init (CcDateTimePanel
   gtk_widget_set_visible (W ("auto-datetime-row"), is_ntp_available (self));
 
   /* Timezone settings */
-  bind_switch_to_row (self,
-                      W ("auto_timezone_switch"),
-                      W ("timezone-button"));
+  g_object_bind_property_full (W ("auto_timezone_switch"), "active",
+                               W ("timezone-button"), "sensitive",
+                               G_BINDING_SYNC_CREATE,
+                               (GBindingTransformFunc) 
tz_switch_to_row_transform_func,
+                               NULL, self, NULL);
 
   priv->datetime_settings = g_settings_new (DATETIME_SCHEMA);
   g_settings_bind (priv->datetime_settings, AUTO_TIMEZONE_KEY,
++++++ gnome-control-center-no-country-code-crash.patch ++++++
>From 422166f3206740b98304528fb0974419ac0aeadb Mon Sep 17 00:00:00 2001
From: Cosimo Cecchi <[email protected]>
Date: Mon, 20 Oct 2014 14:52:47 -0700
Subject: region: don't crash for locales with no country_code

gnome_parse_locale() can return an empty country_code for some locales,
which we are not taking into account when building the simple_locale
string.

https://bugzilla.gnome.org/show_bug.cgi?id=738963

diff --git a/panels/region/cc-input-chooser.c b/panels/region/cc-input-chooser.c
index bb620f8..26a30a2 100644
--- a/panels/region/cc-input-chooser.c
+++ b/panels/region/cc-input-chooser.c
@@ -1022,7 +1022,11 @@ get_locale_infos (GtkWidget *chooser)
       if (!gnome_parse_locale (*locale, &lang_code, &country_code, NULL, NULL))
         continue;
 
-      simple_locale = g_strdup_printf ("%s_%s.utf8", lang_code, country_code);
+      if (country_code != NULL)
+       simple_locale = g_strdup_printf ("%s_%s.utf8", lang_code, country_code);
+      else
+       simple_locale = g_strdup_printf ("%s.utf8", lang_code);
+
       if (g_hash_table_contains (priv->locales, simple_locale))
         {
           g_free (simple_locale);
@@ -1060,10 +1064,13 @@ get_locale_infos (GtkWidget *chooser)
       add_ids_to_set (layouts_with_locale, list);
       g_list_free (list);
 
-      list = gnome_xkb_info_get_layouts_for_country (priv->xkb_info, 
country_code);
-      add_rows_to_table (chooser, info, list, INPUT_SOURCE_TYPE_XKB, id);
-      add_ids_to_set (layouts_with_locale, list);
-      g_list_free (list);
+      if (country_code != NULL)
+        {
+          list = gnome_xkb_info_get_layouts_for_country (priv->xkb_info, 
country_code);
+          add_rows_to_table (chooser, info, list, INPUT_SOURCE_TYPE_XKB, id);
+          add_ids_to_set (layouts_with_locale, list);
+          g_list_free (list);
+        }
 
       g_free (lang_code);
       g_free (country_code);
-- 
cgit v0.10.1


++++++ gnome-control-center-user-account-cheese-crash.patch ++++++
++++ 1858 lines (skipped)

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to