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]