[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#696351: marked as done (unblock: gnome-settings-daemon/3.4.2+git20121218.7c1322-1)



Your message dated Sun, 30 Dec 2012 21:48:10 +0100
with message-id <20121230204810.GM5634@radis.cristau.org>
and subject line Re: Bug#696351: unblock: gnome-settings-daemon/3.4.2+git20121218.7c1322-1
has caused the Debian Bug report #696351,
regarding unblock: gnome-settings-daemon/3.4.2+git20121218.7c1322-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
696351: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=696351
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Hi,

please unblock package gnome-settings-daemon for a handful of upstream 
fixes.
Especially the new fix for the numlock bug should be more reliable than 
the one we have, according to developers.

gnome-settings-daemon (3.4.2+git20121218.7c1322-1) unstable; urgency=low

  * New upstream git snapshot from the 3.4 branch.
    + Fix a pair of crashers.
    + Better fix for the keyboard infinite loop bug.
    + Cleanup in print notifications.
    + Translation updates.
  * 11_numlock_loop.patch: dropped accordingly.


unblock gnome-settings-daemon/3.4.2+git20121218.7c1322-1

Thanks,
-- 
 .''`.      Josselin Mouette
: :' :
`. `'
  `-
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/changelog gnome-settings-daemon-3.4.2+git20121218.7c1322/debian/changelog
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/11_numlock_loop.patch gnome-settings-daemon-3.4.2+git20121218.7c1322/debian/patches/11_numlock_loop.patch
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/11_numlock_loop.patch	2012-10-26 19:04:58.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/debian/patches/11_numlock_loop.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,82 +0,0 @@
-commit 82c7fcf7fd4fe43e73ea5ce6408c79d35ec3dfb8
-Author: Andrew Potter <agpotter@gmail.com>
-Date:   Wed Oct 24 13:52:09 2012 -0700
-
-    keyboard: Prevent potential infinite loop
-    
-    Ensure we don't set the numlock setting in response to our own
-    numlock-setting event.
-    
-    https://bugzilla.gnome.org/show_bug.cgi?id=679151
-
-diff --git a/plugins/keyboard/gsd-keyboard-manager.c b/plugins/keyboard/gsd-keyboard-manager.c
-index a33460c..1519510 100644
---- a/plugins/keyboard/gsd-keyboard-manager.c
-+++ b/plugins/keyboard/gsd-keyboard-manager.c
-@@ -73,6 +73,7 @@ struct GsdKeyboardManagerPrivate
-         gboolean   have_xkb;
-         gint       xkb_event_base;
-         GsdNumLockState old_state;
-+        gulong     numlock_serial;
- };
- 
- static void     gsd_keyboard_manager_class_init  (GsdKeyboardManagerClass *klass);
-@@ -128,13 +129,15 @@ numlock_NumLock_modifier_mask (void)
- }
- 
- static void
--numlock_set_xkb_state (GsdNumLockState new_state)
-+numlock_set_xkb_state (GsdKeyboardManager *manager)
- {
-         unsigned int num_mask;
-         Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
-+        GsdNumLockState new_state = manager->priv->old_state;
-         if (new_state != GSD_NUM_LOCK_STATE_ON && new_state != GSD_NUM_LOCK_STATE_OFF)
-                 return;
-         num_mask = numlock_NumLock_modifier_mask ();
-+        manager->priv->numlock_serial = NextRequest(dpy);
-         XkbLockModifiers (dpy, XkbUseCoreKbd, num_mask, new_state == GSD_NUM_LOCK_STATE_ON ? num_mask : 0);
- }
- 
-@@ -156,16 +159,18 @@ numlock_xkb_callback (GdkXEvent *xev_,
- 	if (xkbev->state.changed & XkbModifierLockMask) {
- 		unsigned num_mask = numlock_NumLock_modifier_mask ();
- 		unsigned locked_mods = xkbev->state.locked_mods;
-+                unsigned long serial = xkbev->state.serial;
- 		GsdNumLockState numlock_state;
- 
- 		numlock_state = (num_mask & locked_mods) ? GSD_NUM_LOCK_STATE_ON : GSD_NUM_LOCK_STATE_OFF;
- 
--		if (numlock_state != manager->priv->old_state) {
--			g_settings_set_enum (manager->priv->settings,
--					     KEY_NUMLOCK_STATE,
--					     numlock_state);
--			manager->priv->old_state = numlock_state;
--		}
-+		if (numlock_state != manager->priv->old_state
-+                    && serial > manager->priv->numlock_serial) {
-+                                g_settings_set_enum (manager->priv->settings,
-+                                                     KEY_NUMLOCK_STATE,
-+                                                     numlock_state);
-+                                manager->priv->old_state = numlock_state;
-+                }
- 	}
- 
-         return GDK_FILTER_CONTINUE;
-@@ -254,7 +259,7 @@ apply_settings (GSettings          *settings,
-         manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE);
- 
-         if (manager->priv->have_xkb && rnumlock)
--                numlock_set_xkb_state (manager->priv->old_state);
-+                numlock_set_xkb_state (manager);
- 
-         XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
-         gdk_error_trap_pop_ignored ();
-@@ -359,6 +364,7 @@ static void
- gsd_keyboard_manager_init (GsdKeyboardManager *manager)
- {
-         manager->priv = GSD_KEYBOARD_MANAGER_GET_PRIVATE (manager);
-+        manager->priv->numlock_serial = G_MAXULONG;
- }
- 
- static void
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/series gnome-settings-daemon-3.4.2+git20121218.7c1322/debian/patches/series
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/series	2012-10-26 19:04:58.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/debian/patches/series	2012-12-18 17:53:10.000000000 +0100
@@ -3,7 +3,6 @@
 03_print_async.patch
 04_superP.patch
 10_smaller_syndaemon_timeout.patch
-11_numlock_loop.patch
 power-check-null-devices.patch
 power-ignore-bad-dbus-requests.patch
 revert_git_datetime_dropping.patch
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/housekeeping/gsd-disk-space.c gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/housekeeping/gsd-disk-space.c
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/housekeeping/gsd-disk-space.c	2012-09-29 15:11:23.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/housekeeping/gsd-disk-space.c	2012-12-18 17:46:05.000000000 +0100
@@ -290,7 +290,7 @@
 }
 
 static void
-on_notification_closed (NotifyNotification *notification)
+on_notification_closed (NotifyNotification *n)
 {
         g_object_unref (notification);
         notification = NULL;
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/housekeeping/gsd-disk-space-test.c gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/housekeeping/gsd-disk-space-test.c
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/housekeeping/gsd-disk-space-test.c	2012-09-29 15:08:13.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/housekeeping/gsd-disk-space-test.c	2012-12-18 17:46:05.000000000 +0100
@@ -23,6 +23,7 @@
 
 #include "config.h"
 #include <gtk/gtk.h>
+#include <libnotify/notify.h>
 #include "gsd-disk-space.h"
 
 int
@@ -32,6 +33,7 @@
         GMainLoop *loop;
 
         gtk_init (&argc, &argv);
+        notify_init ("gsd-disk-space-test");
 
         loop = g_main_loop_new (NULL, FALSE);
 
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/keyboard/gsd-keyboard-manager.c gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/keyboard/gsd-keyboard-manager.c
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/keyboard/gsd-keyboard-manager.c	2012-09-29 15:11:23.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/keyboard/gsd-keyboard-manager.c	2012-12-18 17:46:05.000000000 +0100
@@ -209,6 +209,9 @@
         GsdBellMode      bell_mode;
         gboolean         rnumlock;
 
+        if (g_strcmp0 (key, KEY_NUMLOCK_STATE) == 0)
+                return;
+
         repeat        = g_settings_get_boolean  (settings, KEY_REPEAT);
         click         = g_settings_get_boolean  (settings, KEY_CLICK);
         interval      = _gsd_settings_get_uint  (settings, KEY_INTERVAL);
@@ -220,8 +223,6 @@
         bell_mode = g_settings_get_enum (settings, KEY_BELL_MODE);
         bell_volume   = (bell_mode == GSD_BELL_MODE_ON) ? 50 : 0;
 
-        rnumlock      = g_settings_get_boolean  (settings, "remember-numlock-state");
-
         gdk_error_trap_push ();
         if (repeat) {
                 gboolean rate_set = FALSE;
@@ -251,10 +252,14 @@
                                 KBKeyClickPercent | KBBellPercent | KBBellPitch | KBBellDuration,
                                 &kbdcontrol);
 
-        manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE);
+	if (g_strcmp0 (key, "remember-numlock-state") == 0 || key == NULL) {
+		rnumlock      = g_settings_get_boolean  (settings, "remember-numlock-state");
+
+		manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE);
 
-        if (manager->priv->have_xkb && rnumlock)
-                numlock_set_xkb_state (manager->priv->old_state);
+		if (manager->priv->have_xkb && rnumlock)
+			numlock_set_xkb_state (manager->priv->old_state);
+	}
 
         XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE);
         gdk_error_trap_pop_ignored ();
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/power/gsd-power-manager.c gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/power/gsd-power-manager.c
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/power/gsd-power-manager.c	2012-09-29 15:11:23.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/power/gsd-power-manager.c	2012-12-18 17:46:05.000000000 +0100
@@ -2348,7 +2348,7 @@
         if (!ret) {
                 g_warning ("failed to turn the panel off after lid close: %s",
                            error->message);
-                g_error_free (error);
+                g_clear_error (&error);
         }
 
         /* only toggle keyboard if present and not already toggled */
@@ -3011,7 +3011,7 @@
                 if (!ret) {
                         g_warning ("failed to turn the panel off: %s",
                                    error->message);
-                        g_error_free (error);
+                        g_clear_error (&error);
                 }
 
                 /* only toggle keyboard if present and not already toggled */
@@ -3059,7 +3059,7 @@
                                 g_warning ("failed to restore backlight to %i: %s",
                                            manager->priv->pre_dim_brightness,
                                            error->message);
-                                g_error_free (error);
+                                g_clear_error (&error);
                         } else {
                                 manager->priv->pre_dim_brightness = -1;
                         }
@@ -3072,7 +3072,7 @@
                         if (!ret) {
                                 g_warning ("failed to turn the kbd backlight on: %s",
                                            error->message);
-                                g_error_free (error);
+                                g_clear_error (&error);
                         }
                 }
 
@@ -3672,6 +3672,11 @@
         g_debug ("Starting power manager");
         gnome_settings_profile_start (NULL);
 
+        /* coldplug the list of screens */
+        manager->priv->x11_screen = gnome_rr_screen_new (gdk_screen_get_default (), error);
+        if (manager->priv->x11_screen == NULL)
+                return FALSE;
+
         /* track the active session */
         manager->priv->session = gnome_settings_session_new ();
         g_signal_connect (manager->priv->session, "notify::state",
@@ -3799,11 +3804,6 @@
         g_signal_connect (manager->priv->idletime, "alarm-expired",
                           G_CALLBACK (idle_idletime_alarm_expired_cb), manager);
 
-        /* coldplug the list of screens */
-        manager->priv->x11_screen = gnome_rr_screen_new (gdk_screen_get_default (), error);
-        if (manager->priv->x11_screen == NULL)
-                return FALSE;
-
         /* ensure the default dpms timeouts are cleared */
         ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
                                              GNOME_RR_DPMS_ON,
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/print-notifications/gsd-print-notifications-manager.c gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/print-notifications/gsd-print-notifications-manager.c
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/print-notifications/gsd-print-notifications-manager.c	2012-09-29 15:11:23.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/print-notifications/gsd-print-notifications-manager.c	2012-12-18 17:46:05.000000000 +0100
@@ -250,6 +250,20 @@
         return FALSE;
 }
 
+static gboolean
+reason_is_blacklisted (const gchar *reason) {
+        if (g_str_equal (reason, "none"))
+                return TRUE;
+        if (g_str_equal (reason, "other"))
+                return TRUE;
+        if (g_str_equal (reason, "com.apple.print.recoverable"))
+                return TRUE;
+        /* https://bugzilla.redhat.com/show_bug.cgi?id=883401 */
+        if (g_str_has_prefix (reason, "cups-remote-"))
+                return TRUE;
+        return FALSE;
+}
+
 static void
 on_cups_notification (GDBusConnection *connection,
                       const char      *sender_name,
@@ -671,7 +685,8 @@
                                         }
                                 }
 
-                                if (!known_reason && !g_str_equal (data, "none")) {
+                                if (!known_reason &&
+                                    !reason_is_blacklisted (data)) {
                                         NotifyNotification *notification;
                                         ReasonData         *reason_data;
                                         gchar              *first_row;
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/sound/gsd-sound-manager.c gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/sound/gsd-sound-manager.c
--- gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/sound/gsd-sound-manager.c	2012-09-29 15:08:13.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20121218.7c1322/plugins/sound/gsd-sound-manager.c	2012-12-18 17:46:05.000000000 +0100
@@ -34,10 +34,7 @@
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
-
-#ifdef HAVE_PULSE
 #include <pulse/pulseaudio.h>
-#endif
 
 #include "gsd-sound-manager.h"
 #include "gnome-settings-profile.h"
@@ -59,8 +56,6 @@
 
 static gpointer manager_object = NULL;
 
-#ifdef HAVE_PULSE
-
 static void
 sample_info_cb (pa_context *c, const pa_sample_info *i, int eol, void *userdata)
 {
@@ -256,23 +251,16 @@
         return succ;
 }
 
-#endif
-
 gboolean
 gsd_sound_manager_start (GsdSoundManager *manager,
                          GError **error)
 {
-
-#ifdef HAVE_PULSE
         char *p, **ps, **k;
         const char *env, *dd;
-#endif
 
         g_debug ("Starting sound manager");
         gnome_settings_profile_start (NULL);
 
-#ifdef HAVE_PULSE
-
         /* We listen for change of the selected theme ... */
         register_config_callback (manager);
 
@@ -301,7 +289,6 @@
                 register_directory_callback (manager, *k, NULL);
 
         g_strfreev (ps);
-#endif
 
         gnome_settings_profile_end (NULL);
 
@@ -313,7 +300,6 @@
 {
         g_debug ("Stopping sound manager");
 
-#ifdef HAVE_PULSE
         if (manager->priv->settings != NULL) {
                 g_object_unref (manager->priv->settings);
                 manager->priv->settings = NULL;
@@ -329,7 +315,6 @@
                 g_object_unref (manager->priv->monitors->data);
                 manager->priv->monitors = g_list_delete_link (manager->priv->monitors, manager->priv->monitors);
         }
-#endif
 }
 
 static GObject *
diff -Nru gnome-settings-daemon-3.4.2+git20120925.a4c817/po/kn.po gnome-settings-daemon-3.4.2+git20121218.7c1322/po/kn.po

--- End Message ---
--- Begin Message ---
On Thu, Dec 20, 2012 at 00:08:18 +0100, Josselin Mouette wrote:

> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> 
> Hi,
> 
> please unblock package gnome-settings-daemon for a handful of upstream 
> fixes.
> Especially the new fix for the numlock bug should be more reliable than 
> the one we have, according to developers.
> 
Unblocked.

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: