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

Bug#689143: marked as done (unblock: gnome-settings-daemon/3.4.2+git20120925.a4c817-1)



Your message dated Sat, 29 Sep 2012 15:55:47 +0100
with message-id <1348930547.3831.24.camel@jacala.jungle.funky-badger.org>
and subject line Re: Bug#689143: unblock: gnome-settings-daemon/3.4.2+git20120925.a4c817-1
has caused the Debian Bug report #689143,
regarding unblock: gnome-settings-daemon/3.4.2+git20120925.a4c817-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.)


-- 
689143: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689143
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

Please unblock the new gnome-settings-daemon version.

Rather than cherry-picking most patches in the gnome-3-4 branch, I just 
made a new snapshot. It includes useful changes I’d like to see in 
wheezy:
 - a lot of wacom-related fixes
 - removal of the buggy DBus-activation mechanism
 - some crashers and other bugs

gnome-settings-daemon (3.4.2+git20120925.a4c817-1) unstable; urgency=low

  * debian/g-s-d.gsettings-override: disable remember-numlock-state, 
    because of the infamous https://bugzilla.gnome.org/679151
  * New upstream git snapshot from the stable branch (which will not be 
    released despite the amount of useful bug fixes).
  * 10_smaller_syndaemon_timeout.patch: refreshed.
  * Drop merged patches: power-update-fallback-status-icon.patch,
    20_disable-wacom-support-on-s390-s390x.patch, 
    21_disable-wacom-on-non-Linux-platforms.patch,
    24-common-Try-XI-2.2-if-XI-2.0-fails.patch.
  * Bump libwacom dependency.

Upstream changelog, as well as full diff, are attached.

unblock gnome-settings-daemon/3.4.2+git20120925.a4c817-1

Thanks,
-- 
 .''`.      Josselin Mouette
: :' :
`. `'
  `-
commit a4c8178e725b0be34f66c4bf667ac61d80712daa
Author: Bastien Nocera <hadess@hadess.net>
Date:   Tue Sep 25 15:15:55 2012 +0200

    housekeeping: Fix typo

commit c0279da2b3e4c954b69689b113f5dd2c434943a2
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri Sep 21 13:46:34 2012 +0200

    housekeeping: Don't crash on exit
    
    If a notification popup was shown, and then dismissed, notification
    wouldn't have been reset, and we would crash on exit trying to
    dismiss it.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=859383
    https://bugzilla.gnome.org/show_bug.cgi?id=684548

commit 9f951b2d6b9ebe7057f78415c55eab0e95893c7f
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Jun 29 23:58:04 2012 -0400

    housekeeping: Don't leak notification objects
    
    https://bugzilla.gnome.org/show_bug.cgi?id=679177

commit bbda47baedf1fc32866274c5429b4e589f9d85a7
Author: Shankar Prasad <svenkate@redhat.com>
Date:   Sat Sep 22 23:37:23 2012 +0530

    Updated kn translation

commit b79c9fdb6a8bde0c2b14832967cca6ece0db6501
Author: Shankar Prasad <svenkate@redhat.com>
Date:   Sat Sep 22 23:36:27 2012 +0530

    Updated kn translation

commit 09fb6718f201c3bfd3ae74151a7fef8fcc006461
Author: Steve Magoun <steve.magoun@canonical.com>
Date:   Thu Aug 23 14:45:14 2012 -0400

    media-keys: Handle "toggle brightness" events
    
    Toggle would lower the brightness, as:
    KEYBOARD_BRIGHTNESS_TOGGLE_KEY != KEYBOARD_BRIGHTNESS_TOGGLE_KEY
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682564

commit 9b46248aad1fb6e05cfb6d8408a21763b391b134
Author: Bastien Nocera <hadess@hadess.net>
Date:   Wed Sep 12 09:58:11 2012 +0100

    wacom: Fix warning caused by new libwacom API

commit f216956e057d6527d1d9933f7c1a7b10bac708e3
Author: Olivier Fourdan <ofourdan@redhat.com>
Date:   Wed Sep 12 09:18:25 2012 +0200

    wacom: Upgrade the libwacom dependency
    
    to version 0.6 as previous version would trigger
    bug 672917
    
    https://bugzilla.gnome.org/show_bug.cgi?id=672917
    
    Conflicts:
    	configure.ac

commit 23b2b4e28940218bfa3832c4edc6f535f5f67aa0
Author: Giovanni Campagna <gcampagna@src.gnome.org>
Date:   Thu Aug 16 16:08:19 2012 +0200

    power: fix DBus path of gnome-screensaver
    
    The right path for both gnome-screensaver and gnome-shell is
    /org/gnome/ScreenSaver. It was never noticed because the proxy
    is created without properties and there is no callback in the
    method calls.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682007

commit 7b91a1f14eaabc08a8a86df6236046e7c6e3da4f
Author: Ondrej Holy <oholy@redhat.com>
Date:   Tue Aug 7 15:13:03 2012 +0100

    mouse: Fix touchpad/mouse settings not getting updated
    
    If one of the devices was ignored, we would ignore all the
    subsequent devices.

commit 2b71134f6768e316813c3231f900e542e9d4502e
Author: Peter Mráz <etkinator@gmail.com>
Date:   Wed Aug 1 15:00:32 2012 +0200

    Updated Slovak translation

commit abcdac20d89a4d706935e7a70e2f788c313078df
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Jun 15 23:27:32 2012 -0400

    a11y-keyboard: point to an existing help page
    
    The overall a11y help page might not be the best fit here,
    but it beats a nonresolving URL.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=678198

commit 84c5007f8fd3641728922c5be68cf89129b2b820
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Thu Jun 14 19:41:07 2012 -0400

    Don't pass NULL where a dialog is expected
    
    ...it leads to crash. Seen in
    https://bugzilla.redhat.com/show_bug.cgi?id=831666
    
    https://bugzilla.gnome.org/show_bug.cgi?id=678133

commit ebb0a8e4130ec20d1d5bb11ac85c1652e64e5c2f
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Thu Jun 14 00:21:15 2012 -0400

    power: Avoid duplicate translations
    
    It confuses our tools if we have the same msgid both in
    gettext() and ngettext(), so be a bit more clever here.
    Bonus: save 40 lines of code.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=669732

commit 3662aae585b8901ed1d66ce950177ee763f89259
Author: Chris Coulson <chris.coulson@canonical.com>
Date:   Thu Apr 12 11:54:51 2012 +0100

    power: Don't leak notifications
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673978

commit b41b8a5437d3ffcda5849314e9b711564081063a
Author: Bastien Nocera <hadess@hadess.net>
Date:   Mon Jun 11 14:06:08 2012 +0100

    build: Make CUPS enablement status work

commit 38d3aab255b27b84dcff497af35518ba51786ae7
Author: Keng-Yu Lin <kengyu@ubuntu.com>
Date:   Tue May 22 15:11:26 2012 +0800

    common: mask out virtual modifiers in key grabbing code
    
    gdk_keymap_map_virtual_modifiers converts all the virtual
    modifiers in the state mask (Super, Hyper, Meta, etc) of a
    key event to the real modifiers they're mapped to. This
    call is needed, because XGrabKey and friends only work
    with real modifiers (Mod1, Mod2, ...).
    
    Unforunately, gdk_keymap_map_virtual_modifiers doesn't mask
    out the virtual modifers, it merely adds in the associated
    real ones.
    
    This commit does the masking immediately following the call,
    so that virtual modifier don't ultimately get passed to X
    when setting up the key grabs.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=676300
    (cherry picked from commit 53cbbc00df3884bc3ca87e2818a08ba3ba2fabac)

commit fa834c27d783c290856d9d24fbc4a29acb8e4456
Author: Daniel Drake <dsd@laptop.org>
Date:   Fri Jun 1 15:45:04 2012 -0600

    power: update fallback status icon on icon state change
    
    When the icon was being changed from one icon to another, the fallback
    icon was not being updated.
    
    This meant that unplugging or re-plugging AC power on OLPC laptops
    was not updating the icon (even though the tooltip updated just fine).
    
    Add a missing call to update the GtkStatusIcon when the internal GIcon
    changes.
    
    Fixes http://dev.laptop.org/ticket/11878
    
    https://bugzilla.gnome.org/show_bug.cgi?id=677313

commit 2158b07651734339bb1632aa30aaa8b742e81f7f
Author: Ray Strode <rstrode@redhat.com>
Date:   Tue Jun 5 10:30:06 2012 -0400

    xrandr: explicitly set clone state variable when generating monitor configs
    
    Each potential monitor configuration that can be cycled through with
    fn-f7 on laptops is generated by copying and tweaking the current
    monitor configuration.
    
    One necessary, but neglected tweak, was the current "clone" state.  This
    means the clone state of the current configuration leaks into every
    other config. Users who start in a cloned mode can never leave a clone
    with the hotkey.
    
    This commit explicitly sets the clone state appropriately.
    
    Patch based on valuable, and detailed feedback provided by Marico Xu.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=677472

commit 4fb45d63ada68ecef621e7cd993c00b0db81517e
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 18:47:26 2012 +0100

    mouse: Always ignore the XTest virtual pointer

commit 56ab9240bac521f867164c33cafa90cd8eb177ef
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 18:46:53 2012 +0100

    mouse: Also handle "cursor" devices
    
    Those are the mice used on Wacom tablets. We want those handled
    as normal mice.

commit fd823a48f15022bf1433cc709861fd029773515e
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 18:42:12 2012 +0100

    mouse: Be more careful with setting up "mice"
    
    We were trying to poke at devices that weren't mice, trackpads,
    touchpads or anything of that ilk. This would have conflicted
    with the setup of Wacom devices for example.

commit 8fb5d4d551e4c86ea255800e6e59845223c1a587
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 18:36:25 2012 +0100

    mouse: Add better debug in setting functions

commit e65eab62815b3611f294c8ca735978485d241cae
Author: Ray Strode <rstrode@redhat.com>
Date:   Thu Apr 5 12:16:31 2012 -0400

    daemon: Drop dbus activation capability
    
    Years ago, GDM activated gnome-settings-daemon via dbus as
    part of its hand-rolled greeter session. These days it uses
    gnome-session instead of a hand-rolled session, and so
    gnome-settings-daemon no longer needs to be activatable.
    
    Furthermore, when gnome-settings-daemon is activated, the only
    way it functions is if it's subsequently given an "Awake" call.
    This limitation was added because it was getting unintentionally
    activated in none-GNOME sessions (when those sessions were hosting
    gnome apps, like rhythmbox), causing all sorts of havoc.
    
    This doesn't-function-until-Awake-called limitation means that if
    settings daemon ever crashes and gets unintentionally dbus activated
    before gnome-session has a chance to respawn it, then the whole desktop
    breaks (since whatever accidentally activates it won't call Awake).
    This actually happens in practice because gnome-shell's power indicator
    tries to track the power plugin's object properties.
    
    This commit removes the ability for gnome-settings-daemon to be dbus
    activated. It only causes problems, and no longer solves anyway.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673586

commit 8f0877e8ed6cbf8bc2e943e02d53a10c101e62eb
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 13:57:40 2012 +0100

    common: Fix memleak in xdevice_get_last_tool_id()

commit fba98e8b7571a6e64ea676420c0376305f67cd5d
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 13:57:15 2012 +0100

    common: Fix memleak in device_set_property()

commit 3b9a740c9eb7a473bdacd1d3db6f4fc30eaf1808
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 13:24:11 2012 +0100

    wacom: Fix memleak in filter_events()

commit 21a52c806ff7ca672804826b78788294eb1cde75
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 13:22:06 2012 +0100

    wacom: Fix memleak in find_output_by_display()

commit e96aa47e67e79e6afda5d9c342724de0036c8c31
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 13:21:48 2012 +0100

    wacom: Fix memleak in get_device_type()

commit 3a3d6ca0f6576e3356e5482908ed54278d6a20d8
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 13:17:59 2012 +0100

    wacom: Fix memory leak when adding buttons

commit 5a22b07ab04f38e881e0e4a295913e05e3ec561a
Author: Daiki Ueno <ueno@unixuser.org>
Date:   Wed May 23 15:15:16 2012 +0100

    daemon: Fix g_clear_object() usage
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673555

commit 45fe6b84f9b739b92823d7a63760f2cbd248418a
Author: Bastien Nocera <hadess@hadess.net>
Date:   Fri May 25 12:45:17 2012 +0100

    wacom: Fix crasher on hotplug
    
    And pretty important memleaks.
    
    The styli were never destroyed, so their settings objects were still
    alive and receiving signals when they should have been destroyed.

commit 2e56b5ce4d42a26146c36f5b734b99352069ebaf
Author: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date:   Sat Oct 8 10:34:09 2011 -0400

    mouse: Set default touchpad deactivation to 1.0s
    
    https://bugzilla.gnome.org/show_bug.cgi?id=590783

commit e4d08b6d95969bb9414be24f40b8ac305e707199
Author: Christian Kirbach <Christian.Kirbach@googlemail.com>
Date:   Sat May 19 11:20:05 2012 +0200

    Updated German translation

commit 039875c74e384264d0f060cf4838e80ad027df88
Author: Antoine Jacoutot <ajacoutot@gnome.org>
Date:   Fri Apr 27 13:37:36 2012 +0200

    disable wacom on non Linux platforms.
    
    wacom requires udev which is only available on Linux.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=674935

commit 6aa4ae5ba0d4afce8a418f6b2b3198772f5e8cb5
Author: Dan Horák <dan@danny.cz>
Date:   Wed Mar 21 18:40:06 2012 +0100

    disable wacom support on s390/s390x
    
    https://bugzilla.gnome.org/show_bug.cgi?id=672576

commit 9d23fac4ce927cd27964323aa4cf8138e5128ba0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 12 13:51:09 2012 +1000

    common: Try XI 2.2 if XI 2.0 fails
    
    The media-keys plugin calls supports_xinput2_devices(). That again calls
    XIQueryDevice with a major/minor of 2.0. The upstream server has a check
    for this in place and responds BadValue if a client initiates XI2 twice
    with two different versions (such both us and GTK+ checking for
    different versions). This happens here, and thus the plugin fails
    to load.
    
    The X server was fixed, but this is still required for older versions
    of the Xi code:
    http://cgit.freedesktop.org/xorg/xserver/commit/?id=ea51e9b2877df60135edaf2a8f88d0f2a2b41060
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673964

commit f3e5a738c7d663adedb98829fb69bb389a10e775
Author: Daiki Ueno <ueno@unixuser.org>
Date:   Thu Apr 5 16:41:12 2012 +0900

    daemon: don't unref member objects twice on dispose
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673555
diff -Nru gnome-settings-daemon-3.4.2/aclocal.m4 gnome-settings-daemon-3.4.2+git20120925.a4c817/aclocal.m4
diff -Nru gnome-settings-daemon-3.4.2/compile gnome-settings-daemon-3.4.2+git20120925.a4c817/compile
diff -Nru gnome-settings-daemon-3.4.2/config.guess gnome-settings-daemon-3.4.2+git20120925.a4c817/config.guess
diff -Nru gnome-settings-daemon-3.4.2/config.sub gnome-settings-daemon-3.4.2+git20120925.a4c817/config.sub
diff -Nru gnome-settings-daemon-3.4.2/configure gnome-settings-daemon-3.4.2+git20120925.a4c817/configure
diff -Nru gnome-settings-daemon-3.4.2/configure.ac gnome-settings-daemon-3.4.2+git20120925.a4c817/configure.ac
--- gnome-settings-daemon-3.4.2/configure.ac	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/configure.ac	2012-09-29 15:11:23.000000000 +0200
@@ -51,7 +51,7 @@
 LIBNOTIFY_REQUIRED_VERSION=0.7.3
 UPOWER_GLIB_REQUIRED_VERSION=0.9.1
 PA_REQUIRED_VERSION=0.9.16
-LIBWACOM_REQUIRED_VERSION=0.3
+LIBWACOM_REQUIRED_VERSION=0.6
 UPOWER_REQUIRED_VERSION=0.9.11
 
 EXTRA_COMPILE_WARNINGS(yes)
@@ -197,10 +197,23 @@
 PKG_CHECK_MODULES(COLOR, [colord >= 0.1.9 gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION libcanberra-gtk3])
 
 dnl ---------------------------------------------------------------------------
-dnl - wacom
+dnl - wacom (disabled for s390/s390x and non Linux platforms)
 dnl ---------------------------------------------------------------------------
 
-PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst $GUDEV_PKG gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom])
+case $host_os in
+  linux*)
+    if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
+      have_wacom=no
+    else
+      PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst $GUDEV_PKG gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom])
+      have_wacom=yes
+    fi
+    ;;
+  *)
+    have_wacom=no
+    ;;
+esac
+AM_CONDITIONAL(HAVE_WACOM, test x$have_wacom = xyes)
 
 dnl ==============================================
 dnl PackageKit section
@@ -507,7 +520,8 @@
         Libnotify support:        ${have_libnotify}
         PackageKit support:       ${have_packagekit}
         Smartcard support:        ${have_smartcard_support}
-        Cups support:             ${have_cups}
+        Cups support:             ${enable_cups}
+        Wacom support:            ${have_wacom}
 ${NSS_DATABASE:+\
         System nssdb:             ${NSS_DATABASE}
 }\
diff -Nru gnome-settings-daemon-3.4.2/data/Makefile.am gnome-settings-daemon-3.4.2+git20120925.a4c817/data/Makefile.am
--- gnome-settings-daemon-3.4.2/data/Makefile.am	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/data/Makefile.am	2012-09-29 15:11:23.000000000 +0200
@@ -16,7 +16,6 @@
 	org.gnome.settings-daemon.plugins.xsettings.gschema.xml		\
 	org.gnome.settings-daemon.plugins.housekeeping.gschema.xml	\
 	org.gnome.settings-daemon.plugins.print-notifications.gschema.xml	\
-	org.gnome.settings-daemon.peripherals.wacom.gschema.xml		\
 	org.gnome.settings-daemon.plugins.xrandr.gschema.xml
 
 all_schemas = $(gsettings_SCHEMAS)
@@ -33,6 +32,12 @@
 all_schemas += org.gnome.settings-daemon.plugins.orientation.gschema.xml
 endif
 
+if HAVE_WACOM
+gsettings_SCHEMAS += org.gnome.settings-daemon.peripherals.wacom.gschema.xml
+else
+all_schemas += org.gnome.settings-daemon.peripherals.wacom.gschema.xml
+endif
+
 @INTLTOOL_XML_NOMERGE_RULE@
 
 @GSETTINGS_RULES@
@@ -48,13 +53,6 @@
 gnome-settings-daemon.desktop.in: gnome-settings-daemon.desktop.in.in
 	$(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@.tmp && mv $@.tmp $@
 
-servicedir = $(datadir)/dbus-1/services
-service_in_files = org.gnome.SettingsDaemon.service.in
-service_DATA = $(service_in_files:.service.in=.service)
-
-org.gnome.SettingsDaemon.service: org.gnome.SettingsDaemon.service.in Makefile
-	$(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
-
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = gnome-settings-daemon.pc
 
@@ -66,7 +64,6 @@
 	$(man_MANS)				\
 	$(convert_DATA)				\
 	$(all_schemas:.xml=.xml.in.in)		\
-	$(service_in_files)			\
 	$(desktop_in_files)			\
 	$(gsettings_ENUM_FILES)			\
 	gnome-settings-daemon.pc.in		\
@@ -75,7 +72,6 @@
 
 DISTCLEANFILES = 			\
 	$(all_schemas)			\
-	$(service_DATA)			\
 	$(desktop_DATA)			\
 	gnome-settings-daemon.desktop.in \
 	$(NULL)
diff -Nru gnome-settings-daemon-3.4.2/data/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/data/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/data/org.gnome.SettingsDaemon.service.in gnome-settings-daemon-3.4.2+git20120925.a4c817/data/org.gnome.SettingsDaemon.service.in
--- gnome-settings-daemon-3.4.2/data/org.gnome.SettingsDaemon.service.in	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/data/org.gnome.SettingsDaemon.service.in	1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-[D-BUS Service]
-Name=org.gnome.SettingsDaemon
-Exec=@libexecdir@/gnome-settings-daemon
diff -Nru gnome-settings-daemon-3.4.2/debian/changelog gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/changelog
--- gnome-settings-daemon-3.4.2/debian/changelog	2012-08-30 23:36:40.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/changelog	2012-09-29 13:13:39.000000000 +0200
@@ -1,3 +1,18 @@
+gnome-settings-daemon (3.4.2+git20120925.a4c817-1) unstable; urgency=low
+
+  * debian/g-s-d.gsettings-override: disable remember-numlock-state, 
+    because of the infamous https://bugzilla.gnome.org/679151
+  * New upstream git snapshot from the stable branch (which will not be 
+    released despite the amount of useful bug fixes).
+  * 10_smaller_syndaemon_timeout.patch: refreshed.
+  * Drop merged patches: power-update-fallback-status-icon.patch,
+    20_disable-wacom-support-on-s390-s390x.patch, 
+    21_disable-wacom-on-non-Linux-platforms.patch,
+    24-common-Try-XI-2.2-if-XI-2.0-fails.patch.
+  * Bump libwacom dependency.
+
+ -- Josselin Mouette <joss@debian.org>  Sat, 29 Sep 2012 12:17:15 +0200
+
 gnome-settings-daemon (3.4.2-5) unstable; urgency=low
 
   * debian/patches/power-update-fallback-status-icon.patch: Update battery
diff -Nru gnome-settings-daemon-3.4.2/debian/control gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/control
--- gnome-settings-daemon-3.4.2/debian/control	2012-08-30 23:38:44.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/control	2012-09-29 15:17:51.000000000 +0200
@@ -7,7 +7,7 @@
 Section: gnome
 Priority: optional
 Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
-Uploaders: Michael Biebl <biebl@debian.org>, Sjoerd Simons <sjoerd@debian.org>
+Uploaders: Josselin Mouette <joss@debian.org>, Michael Biebl <biebl@debian.org>, Sjoerd Simons <sjoerd@debian.org>
 Build-Depends: cdbs,
                debhelper (>= 8.1.0~),
                gnome-pkg-tools,
@@ -40,7 +40,7 @@
                libcolord-dev (>= 0.1.12),
                liblcms2-dev,
                libnss3-dev,
-               libwacom-dev (>= 0.3) [!hurd-any !kfreebsd-any !s390 !s390x],
+               libwacom-dev (>= 0.6) [!hurd-any !kfreebsd-any !s390 !s390x],
                xserver-xorg-input-wacom [!hurd-any !kfreebsd-any !s390 !s390x]
 Standards-Version: 3.9.3
 Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/desktop/unstable/gnome-settings-daemon/
diff -Nru gnome-settings-daemon-3.4.2/debian/control.in gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/control.in
--- gnome-settings-daemon-3.4.2/debian/control.in	2012-05-30 12:43:25.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/control.in	2012-09-29 13:13:20.000000000 +0200
@@ -35,7 +35,7 @@
                libcolord-dev (>= 0.1.12),
                liblcms2-dev,
                libnss3-dev,
-               libwacom-dev (>= 0.3) [!hurd-any !kfreebsd-any !s390 !s390x],
+               libwacom-dev (>= 0.6) [!hurd-any !kfreebsd-any !s390 !s390x],
                xserver-xorg-input-wacom [!hurd-any !kfreebsd-any !s390 !s390x]
 Standards-Version: 3.9.3
 Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/desktop/unstable/gnome-settings-daemon/
diff -Nru gnome-settings-daemon-3.4.2/debian/gnome-settings-daemon.gsettings-override gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/gnome-settings-daemon.gsettings-override
--- gnome-settings-daemon-3.4.2/debian/gnome-settings-daemon.gsettings-override	1970-01-01 01:00:00.000000000 +0100
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/gnome-settings-daemon.gsettings-override	2012-09-29 12:14:58.000000000 +0200
@@ -0,0 +1,2 @@
+[org.gnome.settings-daemon.peripherals.keyboard]
+remember-numlock-state=false
diff -Nru gnome-settings-daemon-3.4.2/debian/patches/10_smaller_syndaemon_timeout.patch gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/10_smaller_syndaemon_timeout.patch
--- gnome-settings-daemon-3.4.2/debian/patches/10_smaller_syndaemon_timeout.patch	2012-05-25 07:40:22.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/10_smaller_syndaemon_timeout.patch	2012-09-29 12:11:39.000000000 +0200
@@ -1,9 +1,9 @@
-Index: gnome-settings-daemon-3.4.2/plugins/mouse/gsd-mouse-manager.c
+Index: gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/mouse/gsd-mouse-manager.c
 ===================================================================
---- gnome-settings-daemon-3.4.2.orig/plugins/mouse/gsd-mouse-manager.c	2012-05-15 12:11:58.000000000 +0200
-+++ gnome-settings-daemon-3.4.2/plugins/mouse/gsd-mouse-manager.c	2012-05-19 08:39:03.315704485 +0200
-@@ -552,7 +552,8 @@
-                 args[2] = "2.0";
+--- gnome-settings-daemon-3.4.2+git20120925.a4c817.orig/plugins/mouse/gsd-mouse-manager.c	2012-09-29 12:09:15.000000000 +0200
++++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/mouse/gsd-mouse-manager.c	2012-09-29 12:11:23.119038602 +0200
+@@ -577,7 +577,8 @@ set_disable_w_typing (GsdMouseManager *m
+                 args[2] = "1.0";
                  args[3] = "-K";
                  args[4] = "-R";
 -                args[5] = NULL;
diff -Nru gnome-settings-daemon-3.4.2/debian/patches/20_disable-wacom-support-on-s390-s390x.patch gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/20_disable-wacom-support-on-s390-s390x.patch
--- gnome-settings-daemon-3.4.2/debian/patches/20_disable-wacom-support-on-s390-s390x.patch	2012-05-25 07:40:22.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/20_disable-wacom-support-on-s390-s390x.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,93 +0,0 @@
-From 6aa4ae5ba0d4afce8a418f6b2b3198772f5e8cb5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
-Date: Wed, 21 Mar 2012 18:40:06 +0100
-Subject: [PATCH 1/2] disable wacom support on s390/s390x
-
-https://bugzilla.gnome.org/show_bug.cgi?id=672576
----
- configure.ac        |   11 +++++++++--
- data/Makefile.am    |    7 ++++++-
- plugins/Makefile.am |    7 ++++++-
- 3 files changed, 21 insertions(+), 4 deletions(-)
-
-Index: gnome-settings-daemon-3.4.2/configure.ac
-===================================================================
---- gnome-settings-daemon-3.4.2.orig/configure.ac	2012-05-19 02:59:56.470485127 +0200
-+++ gnome-settings-daemon-3.4.2/configure.ac	2012-05-19 02:59:57.118485100 +0200
-@@ -215,10 +215,16 @@
- PKG_CHECK_MODULES(COLOR, [colord >= 0.1.9 gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION libcanberra-gtk3])
- 
- dnl ---------------------------------------------------------------------------
--dnl - wacom
-+dnl - wacom (disabled for s390/s390x)
- dnl ---------------------------------------------------------------------------
- 
--PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst $GUDEV_PKG gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom])
-+if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
-+    have_wacom=no
-+else
-+    PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst $GUDEV_PKG gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom])
-+    have_wacom=yes
-+fi
-+AM_CONDITIONAL(HAVE_WACOM, test x$have_wacom = xyes)
- 
- dnl ==============================================
- dnl PackageKit section
-@@ -565,6 +571,7 @@
-         PackageKit support:       ${have_packagekit}
-         Smartcard support:        ${have_smartcard_support}
-         Cups support:             ${have_cups}
-+        Wacom support:            ${have_wacom}
- ${NSS_DATABASE:+\
-         System nssdb:             ${NSS_DATABASE}
- }\
-Index: gnome-settings-daemon-3.4.2/data/Makefile.am
-===================================================================
---- gnome-settings-daemon-3.4.2.orig/data/Makefile.am	2012-05-15 12:14:49.000000000 +0200
-+++ gnome-settings-daemon-3.4.2/data/Makefile.am	2012-05-19 02:59:57.118485100 +0200
-@@ -16,7 +16,6 @@
- 	org.gnome.settings-daemon.plugins.xsettings.gschema.xml		\
- 	org.gnome.settings-daemon.plugins.housekeeping.gschema.xml	\
- 	org.gnome.settings-daemon.plugins.print-notifications.gschema.xml	\
--	org.gnome.settings-daemon.peripherals.wacom.gschema.xml		\
- 	org.gnome.settings-daemon.plugins.xrandr.gschema.xml
- 
- all_schemas = $(gsettings_SCHEMAS)
-@@ -33,6 +32,12 @@
- all_schemas += org.gnome.settings-daemon.plugins.orientation.gschema.xml
- endif
- 
-+if HAVE_WACOM
-+gsettings_SCHEMAS += org.gnome.settings-daemon.peripherals.wacom.gschema.xml
-+else
-+all_schemas += org.gnome.settings-daemon.peripherals.wacom.gschema.xml
-+endif
-+
- @INTLTOOL_XML_NOMERGE_RULE@
- 
- @GSETTINGS_RULES@
-Index: gnome-settings-daemon-3.4.2/plugins/Makefile.am
-===================================================================
---- gnome-settings-daemon-3.4.2.orig/plugins/Makefile.am	2012-05-19 02:59:56.474485125 +0200
-+++ gnome-settings-daemon-3.4.2/plugins/Makefile.am	2012-05-19 02:59:57.118485100 +0200
-@@ -16,7 +16,6 @@
- 	media-keys	\
- 	mouse		\
- 	sound		\
--	wacom		\
- 	xrandr		\
- 	xsettings	\
- 	$(NULL)
-@@ -41,6 +40,12 @@
- disabled_plugins += orientation
- endif
- 
-+if HAVE_WACOM
-+enabled_plugins += wacom
-+else
-+disabled_plugins += wacom
-+endif
-+
- if BUILD_PRINT_NOTIFICATIONS
- enabled_plugins += print-notifications
- else
diff -Nru gnome-settings-daemon-3.4.2/debian/patches/21_disable-wacom-on-non-Linux-platforms.patch gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/21_disable-wacom-on-non-Linux-platforms.patch
--- gnome-settings-daemon-3.4.2/debian/patches/21_disable-wacom-on-non-Linux-platforms.patch	2012-05-25 07:40:22.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/21_disable-wacom-on-non-Linux-platforms.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-From 039875c74e384264d0f060cf4838e80ad027df88 Mon Sep 17 00:00:00 2001
-From: Antoine Jacoutot <ajacoutot@gnome.org>
-Date: Fri, 27 Apr 2012 13:37:36 +0200
-Subject: [PATCH 2/2] disable wacom on non Linux platforms.
-
-wacom requires udev which is only available on Linux.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=674935
----
- configure.ac |   19 +++++++++++++------
- 1 file changed, 13 insertions(+), 6 deletions(-)
-
-Index: gnome-settings-daemon-3.4.2/configure.ac
-===================================================================
---- gnome-settings-daemon-3.4.2.orig/configure.ac	2012-05-19 02:59:57.118485100 +0200
-+++ gnome-settings-daemon-3.4.2/configure.ac	2012-05-19 03:00:01.206484961 +0200
-@@ -215,15 +215,22 @@
- PKG_CHECK_MODULES(COLOR, [colord >= 0.1.9 gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION libcanberra-gtk3])
- 
- dnl ---------------------------------------------------------------------------
--dnl - wacom (disabled for s390/s390x)
-+dnl - wacom (disabled for s390/s390x and non Linux platforms)
- dnl ---------------------------------------------------------------------------
- 
--if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
-+case $host_os in
-+  linux*)
-+    if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
-+      have_wacom=no
-+    else
-+      PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst $GUDEV_PKG gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom])
-+      have_wacom=yes
-+    fi
-+    ;;
-+  *)
-     have_wacom=no
--else
--    PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst $GUDEV_PKG gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom])
--    have_wacom=yes
--fi
-+    ;;
-+esac
- AM_CONDITIONAL(HAVE_WACOM, test x$have_wacom = xyes)
- 
- dnl ==============================================
diff -Nru gnome-settings-daemon-3.4.2/debian/patches/24-common-Try-XI-2.2-if-XI-2.0-fails.patch gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/24-common-Try-XI-2.2-if-XI-2.0-fails.patch
--- gnome-settings-daemon-3.4.2/debian/patches/24-common-Try-XI-2.2-if-XI-2.0-fails.patch	2012-07-29 12:08:25.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/24-common-Try-XI-2.2-if-XI-2.0-fails.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,44 +0,0 @@
-From 9d23fac4ce927cd27964323aa4cf8138e5128ba0 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu, 12 Apr 2012 13:51:09 +1000
-Subject: [PATCH] common: Try XI 2.2 if XI 2.0 fails
-
-The media-keys plugin calls supports_xinput2_devices(). That again calls
-XIQueryDevice with a major/minor of 2.0. The upstream server has a check
-for this in place and responds BadValue if a client initiates XI2 twice
-with two different versions (such both us and GTK+ checking for
-different versions). This happens here, and thus the plugin fails
-to load.
-
-The X server was fixed, but this is still required for older versions
-of the Xi code:
-http://cgit.freedesktop.org/xorg/xserver/commit/?id=ea51e9b2877df60135edaf2a8f88d0f2a2b41060
-
-https://bugzilla.gnome.org/show_bug.cgi?id=673964
----
- plugins/common/gsd-input-helper.c |    9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/plugins/common/gsd-input-helper.c b/plugins/common/gsd-input-helper.c
-index cf9e83d..f06b507 100644
---- a/plugins/common/gsd-input-helper.c
-+++ b/plugins/common/gsd-input-helper.c
-@@ -129,7 +129,14 @@ supports_xinput2_devices (int *opcode)
- 
-         if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
-                 gdk_error_trap_pop_ignored ();
--                return FALSE;
-+                /* try for 2.2, maybe gtk has already announced 2.2 support */
-+                gdk_error_trap_push ();
-+                major = 2;
-+                minor = 2;
-+                if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
-+                    gdk_error_trap_pop_ignored ();
-+                    return FALSE;
-+                }
-         }
-         gdk_error_trap_pop_ignored ();
- 
--- 
-1.7.10.4
-
diff -Nru gnome-settings-daemon-3.4.2/debian/patches/power-update-fallback-status-icon.patch gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/power-update-fallback-status-icon.patch
--- gnome-settings-daemon-3.4.2/debian/patches/power-update-fallback-status-icon.patch	2012-06-28 07:50:20.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/power-update-fallback-status-icon.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-commit fa834c27d783c290856d9d24fbc4a29acb8e4456
-Author: Daniel Drake <dsd@laptop.org>
-Date:   Fri Jun 1 15:45:04 2012 -0600
-
-    power: update fallback status icon on icon state change
-    
-    When the icon was being changed from one icon to another, the fallback
-    icon was not being updated.
-    
-    This meant that unplugging or re-plugging AC power on OLPC laptops
-    was not updating the icon (even though the tooltip updated just fine).
-    
-    Add a missing call to update the GtkStatusIcon when the internal GIcon
-    changes.
-    
-    Fixes http://dev.laptop.org/ticket/11878
-    
-    https://bugzilla.gnome.org/show_bug.cgi?id=677313
-
-diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
-index 1d60723..abec33f 100644
---- a/plugins/power/gsd-power-manager.c
-+++ b/plugins/power/gsd-power-manager.c
-@@ -711,6 +711,10 @@ engine_recalculate_state_icon (GsdPowerManager *manager)
- 
-         /* icon before, now different */
-         if (!g_icon_equal (manager->priv->previous_icon, icon)) {
-+
-+                /* set fallback icon */
-+                gtk_status_icon_set_from_gicon (manager->priv->status_icon, icon);
-+
-                 g_object_unref (manager->priv->previous_icon);
-                 manager->priv->previous_icon = icon;
-                 return TRUE;
diff -Nru gnome-settings-daemon-3.4.2/debian/patches/series gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/series
--- gnome-settings-daemon-3.4.2/debian/patches/series	2012-07-29 12:08:25.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/debian/patches/series	2012-09-29 13:12:40.000000000 +0200
@@ -2,9 +2,5 @@
 10_smaller_syndaemon_timeout.patch
 power-check-null-devices.patch
 power-ignore-bad-dbus-requests.patch
-power-update-fallback-status-icon.patch
 revert_git_datetime_dropping.patch
-20_disable-wacom-support-on-s390-s390x.patch
-21_disable-wacom-on-non-Linux-platforms.patch
 22_backlight_optional.patch
-24-common-Try-XI-2.2-if-XI-2.0-fails.patch
diff -Nru gnome-settings-daemon-3.4.2/depcomp gnome-settings-daemon-3.4.2+git20120925.a4c817/depcomp
diff -Nru gnome-settings-daemon-3.4.2/gnome-settings-daemon/gnome-settings-manager.c gnome-settings-daemon-3.4.2+git20120925.a4c817/gnome-settings-daemon/gnome-settings-manager.c
--- gnome-settings-daemon-3.4.2/gnome-settings-daemon/gnome-settings-manager.c	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/gnome-settings-daemon/gnome-settings-manager.c	2012-09-29 15:08:13.000000000 +0200
@@ -50,8 +50,6 @@
 "<node name='/org/gnome/SettingsDaemon'>"
 "  <interface name='org.gnome.SettingsDaemon'>"
 "    <annotation name='org.freedesktop.DBus.GLib.CSymbol' value='gnome_settings_manager'/>"
-"    <method name='Awake'/>"
-"    <method name='Start'/>"
 "    <signal name='PluginActivated'>"
 "      <arg name='name' type='s'/>"
 "    </signal>"
@@ -324,56 +322,6 @@
          manager->priv->plugins = NULL;
 }
 
-/*
-  Example:
-  dbus-send --session --dest=org.gnome.SettingsDaemon \
-  --type=method_call --print-reply --reply-timeout=2000 \
-  /org/gnome/SettingsDaemon \
-  org.gnome.SettingsDaemon.Awake
-*/
-gboolean
-gnome_settings_manager_awake (GnomeSettingsManager *manager,
-                              GError              **error)
-{
-        g_debug ("Awake called");
-        return gnome_settings_manager_start (manager, error);
-}
-
-static void
-handle_method_call (GDBusConnection       *connection,
-                    const gchar           *sender,
-                    const gchar           *object_path,
-                    const gchar           *interface_name,
-                    const gchar           *method_name,
-                    GVariant              *parameters,
-                    GDBusMethodInvocation *invocation,
-                    gpointer               user_data)
-{
-        GnomeSettingsManager *manager = (GnomeSettingsManager *) user_data;
-        GError *error = NULL;
-
-        g_debug ("Calling method '%s' for settings daemon", method_name);
-
-        if (g_strcmp0 (method_name, "Awake") == 0) {
-                if (gnome_settings_manager_awake (manager, &error) == FALSE)
-                        g_dbus_method_invocation_return_gerror (invocation, error);
-                else
-                        g_dbus_method_invocation_return_value (invocation, NULL);
-        } else if (g_strcmp0 (method_name, "Start") == 0) {
-                if (gnome_settings_manager_start (manager, &error) == FALSE)
-                        g_dbus_method_invocation_return_gerror (invocation, error);
-                else
-                        g_dbus_method_invocation_return_value (invocation, NULL);
-        }
-}
-
-static const GDBusInterfaceVTable interface_vtable =
-{
-        handle_method_call,
-        NULL, /* Get Property */
-        NULL, /* Set Property */
-};
-
 static void
 on_bus_gotten (GObject             *source_object,
                GAsyncResult        *res,
@@ -393,8 +341,8 @@
         g_dbus_connection_register_object (connection,
                                            GSD_MANAGER_DBUS_PATH,
                                            manager->priv->introspection_data->interfaces[0],
-                                           &interface_vtable,
-                                           manager,
+                                           NULL,
+                                           NULL,
                                            NULL,
                                            NULL);
 }
@@ -461,11 +409,8 @@
                 manager->priv->owner_id = 0;
         }
 
-        g_object_unref (manager->priv->settings);
-        manager->priv->settings = NULL;
-
-        g_object_unref (manager->priv->pnp_ids);
-        manager->priv->pnp_ids = NULL;
+        g_clear_object (&manager->priv->settings);
+        g_clear_object (&manager->priv->pnp_ids);
 }
 
 static void
diff -Nru gnome-settings-daemon-3.4.2/gnome-settings-daemon/gnome-settings-manager.h gnome-settings-daemon-3.4.2+git20120925.a4c817/gnome-settings-daemon/gnome-settings-manager.h
--- gnome-settings-daemon-3.4.2/gnome-settings-daemon/gnome-settings-manager.h	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/gnome-settings-daemon/gnome-settings-manager.h	2012-09-29 15:08:13.000000000 +0200
@@ -65,9 +65,6 @@
                                                           GError              **error);
 void                   gnome_settings_manager_stop       (GnomeSettingsManager *manager);
 
-gboolean               gnome_settings_manager_awake      (GnomeSettingsManager *manager,
-                                                          GError              **error);
-
 G_END_DECLS
 
 #endif /* __GNOME_SETTINGS_MANAGER_H */
diff -Nru gnome-settings-daemon-3.4.2/gnome-settings-daemon/main.c gnome-settings-daemon-3.4.2+git20120925.a4c817/gnome-settings-daemon/main.c
--- gnome-settings-daemon-3.4.2/gnome-settings-daemon/main.c	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/gnome-settings-daemon/main.c	2012-09-29 15:11:23.000000000 +0200
@@ -437,16 +437,12 @@
                 goto out;
         }
 
-        /* If we aren't started by dbus then load the plugins
-           automatically.  Otherwise, wait for an Awake etc. */
-        if (g_getenv ("DBUS_STARTER_BUS_TYPE") == NULL) {
-                error = NULL;
-                res = gnome_settings_manager_start (manager, &error);
-                if (! res) {
-                        g_warning ("Unable to start: %s", error->message);
-                        g_error_free (error);
-                        goto out;
-                }
+        error = NULL;
+        res = gnome_settings_manager_start (manager, &error);
+        if (! res) {
+                g_warning ("Unable to start: %s", error->message);
+                g_error_free (error);
+                goto out;
         }
 
         if (do_timed_exit) {
diff -Nru gnome-settings-daemon-3.4.2/gnome-settings-daemon/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/gnome-settings-daemon/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/INSTALL gnome-settings-daemon-3.4.2+git20120925.a4c817/INSTALL
diff -Nru gnome-settings-daemon-3.4.2/ltmain.sh gnome-settings-daemon-3.4.2+git20120925.a4c817/ltmain.sh
diff -Nru gnome-settings-daemon-3.4.2/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
--- gnome-settings-daemon-3.4.2/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c	2012-04-12 11:54:01.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c	2012-09-29 15:11:23.000000000 +0200
@@ -373,7 +373,7 @@
 
                 err = NULL;
                 if (!gtk_show_uri (screen,
-                                   "ghelp:user-guide#goscustaccess-6",
+                                   "help:gnome-help/a11y",
                                    gtk_get_current_event_time(),
                                    &err)) {
                         GtkWidget *error_dialog = gtk_message_dialog_new (parent,
diff -Nru gnome-settings-daemon-3.4.2/plugins/a11y-keyboard/gsd-a11y-preferences-dialog.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/a11y-keyboard/gsd-a11y-preferences-dialog.c
--- gnome-settings-daemon-3.4.2/plugins/a11y-keyboard/gsd-a11y-preferences-dialog.c	2012-04-12 11:54:01.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/a11y-keyboard/gsd-a11y-preferences-dialog.c	2012-09-29 15:08:13.000000000 +0200
@@ -321,7 +321,7 @@
         g_signal_connect (widget,
                           "toggled",
                           G_CALLBACK (on_high_contrast_checkbutton_toggled),
-                          NULL);
+                          dialog);
         enabled = config_get_high_contrast (dialog);
         ui_set_high_contrast (dialog, enabled);
 
@@ -371,7 +371,7 @@
         g_signal_connect (widget,
                           "toggled",
                           G_CALLBACK (on_large_print_checkbutton_toggled),
-                          NULL);
+                          dialog);
         enabled = config_get_large_print (dialog, &is_writable);
         ui_set_large_print (dialog, enabled);
         if (! is_writable) {
diff -Nru gnome-settings-daemon-3.4.2/plugins/a11y-keyboard/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/a11y-keyboard/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/a11y-settings/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/a11y-settings/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/automount/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/automount/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/background/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/background/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/clipboard/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/clipboard/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/color/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/color/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/common/gsd-input-helper.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/common/gsd-input-helper.c
--- gnome-settings-daemon-3.4.2/plugins/common/gsd-input-helper.c	2012-04-19 17:53:36.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/common/gsd-input-helper.c	2012-09-29 15:11:23.000000000 +0200
@@ -83,6 +83,8 @@
                                xdevice, prop, realtype, realformat,
                                PropModeReplace, data, nitems);
 
+        XFree (data);
+
         if (gdk_error_trap_pop ()) {
                 g_warning ("Error in setting \"%s\" for \"%s\"", property->name, device_name);
                 return FALSE;
@@ -129,7 +131,14 @@
 
         if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
                 gdk_error_trap_pop_ignored ();
-                return FALSE;
+                /* try for 2.2, maybe gtk has already announced 2.2 support */
+                gdk_error_trap_push ();
+                major = 2;
+                minor = 2;
+                if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
+                    gdk_error_trap_pop_ignored ();
+                    return FALSE;
+                }
         }
         gdk_error_trap_pop_ignored ();
 
@@ -328,14 +337,16 @@
         if (!prop)
                 return -1;
 
+        data = NULL;
+
         gdk_error_trap_push ();
 
-        if (!XIGetProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+        if (XIGetProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                             deviceid, prop, 0, 1000, False,
                             AnyPropertyType, &act_type, &act_format,
-                            &nitems, &bytes_after, &data) == Success) {
+                            &nitems, &bytes_after, &data) != Success) {
                 gdk_error_trap_pop_ignored ();
-                return -1;
+                goto out;
         }
 
         if (gdk_error_trap_pop ())
@@ -366,10 +377,11 @@
 	/* That means that no tool was set down yet */
 	if (id == STYLUS_DEVICE_ID ||
 	    id == ERASER_DEVICE_ID)
-		return 0x0;
+		id = 0x0;
 
 out:
-        XFree (data);
+        if (data != NULL)
+                XFree (data);
         return id;
 }
 
diff -Nru gnome-settings-daemon-3.4.2/plugins/common/gsd-keygrab.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/common/gsd-keygrab.c
--- gnome-settings-daemon-3.4.2/plugins/common/gsd-keygrab.c	2012-04-12 11:54:01.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/common/gsd-keygrab.c	2012-09-29 15:11:23.000000000 +0200
@@ -153,6 +153,7 @@
         /* XGrabKey requires real modifiers, not virtual ones */
         modifiers = key->state;
         gdk_keymap_map_virtual_modifiers (gdk_keymap_get_default (), &modifiers);
+        modifiers &= ~(GDK_META_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK);
 
         /* If key doesn't have a usable modifier, we don't want
          * to grab it, since the user might lose a useful key.
@@ -324,6 +325,7 @@
 		 * the XEvent will be using the real modifier, so translate those */
 		mask = key->state;
 		gdk_keymap_map_virtual_modifiers (gdk_keymap_get_default (), &mask);
+                mask &= ~(GDK_META_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK);
 
 		gdk_keyval_convert_case (keyval, &lower, &upper);
 
diff -Nru gnome-settings-daemon-3.4.2/plugins/common/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/common/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/cursor/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/cursor/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/dummy/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/dummy/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/housekeeping/gsd-disk-space.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/housekeeping/gsd-disk-space.c
--- gnome-settings-daemon-3.4.2/plugins/housekeeping/gsd-disk-space.c	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/housekeeping/gsd-disk-space.c	2012-09-29 15:11:23.000000000 +0200
@@ -292,6 +292,7 @@
 static void
 on_notification_closed (NotifyNotification *notification)
 {
+        g_object_unref (notification);
         notification = NULL;
 }
 
diff -Nru gnome-settings-daemon-3.4.2/plugins/housekeeping/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/housekeeping/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/keyboard/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/keyboard/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/Makefile.am gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/Makefile.am
--- gnome-settings-daemon-3.4.2/plugins/Makefile.am	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/Makefile.am	2012-09-29 15:08:13.000000000 +0200
@@ -15,7 +15,6 @@
 	media-keys	\
 	mouse		\
 	sound		\
-	wacom		\
 	xrandr		\
 	xsettings	\
 	$(NULL)
@@ -40,6 +39,12 @@
 disabled_plugins += orientation
 endif
 
+if HAVE_WACOM
+enabled_plugins += wacom
+else
+disabled_plugins += wacom
+endif
+
 if BUILD_PRINT_NOTIFICATIONS
 enabled_plugins += print-notifications
 else
diff -Nru gnome-settings-daemon-3.4.2/plugins/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/media-keys/cut-n-paste/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/media-keys/cut-n-paste/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/media-keys/gsd-media-keys-manager.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/media-keys/gsd-media-keys-manager.c
--- gnome-settings-daemon-3.4.2/plugins/media-keys/gsd-media-keys-manager.c	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/media-keys/gsd-media-keys-manager.c	2012-09-29 15:11:23.000000000 +0200
@@ -1765,15 +1765,31 @@
 do_keyboard_brightness_action (GsdMediaKeysManager *manager,
                                MediaKeyType type)
 {
+        const char *cmd;
+
         if (manager->priv->connection == NULL ||
             manager->priv->power_keyboard_proxy == NULL) {
                 g_warning ("No existing D-Bus connection trying to handle power keys");
                 return;
         }
 
+        switch (type) {
+        case KEYBOARD_BRIGHTNESS_UP_KEY:
+                cmd = "StepUp";
+                break;
+        case KEYBOARD_BRIGHTNESS_DOWN_KEY:
+                cmd = "StepDown";
+                break;
+        case KEYBOARD_BRIGHTNESS_TOGGLE_KEY:
+                cmd = "Toggle";
+                break;
+        default:
+                g_assert_not_reached ();
+        }
+
         /* call into the power plugin */
         g_dbus_proxy_call (manager->priv->power_keyboard_proxy,
-                           type == KEYBOARD_BRIGHTNESS_UP_KEY ? "StepUp" : "StepDown",
+                           cmd,
                            NULL,
                            G_DBUS_CALL_FLAGS_NONE,
                            -1,
diff -Nru gnome-settings-daemon-3.4.2/plugins/media-keys/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/media-keys/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/mouse/gsd-mouse-manager.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/mouse/gsd-mouse-manager.c
--- gnome-settings-daemon-3.4.2/plugins/mouse/gsd-mouse-manager.c	2012-05-15 12:11:58.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/mouse/gsd-mouse-manager.c	2012-09-29 15:11:23.000000000 +0200
@@ -168,6 +168,29 @@
         return FALSE;
 }
 
+static gboolean
+device_is_ignored (GsdMouseManager *manager,
+		   GdkDevice       *device)
+{
+	GdkInputSource source;
+	const char *name;
+
+	if (device_is_blacklisted (manager, device))
+		return TRUE;
+
+	source = gdk_device_get_source (device);
+	if (source != GDK_SOURCE_MOUSE &&
+	    source != GDK_SOURCE_TOUCHPAD &&
+	    source != GDK_SOURCE_CURSOR)
+		return TRUE;
+
+	name = gdk_device_get_name (device);
+	if (name != NULL && g_str_equal ("Virtual core XTEST pointer", name))
+		return TRUE;
+
+	return FALSE;
+}
+
 static void
 configure_button_layout (guchar   *buttons,
                          gint      n_buttons,
@@ -315,11 +338,7 @@
         gsize buttons_capacity = 16;
         gboolean left_handed;
         gint n_buttons;
-        const char *name;
 
-        name = gdk_device_get_name (device);
-        if (name != NULL && g_str_equal ("Virtual core XTEST pointer", name))
-                return;
         if (!xinput_device_has_buttons (device))
                 return;
 
@@ -327,6 +346,8 @@
         if (xdevice == NULL)
                 return;
 
+	g_debug ("setting handedness on %s", gdk_device_get_name (device));
+
         buttons = g_new (guchar, buttons_capacity);
 
         /* If the device is a touchpad, swap tap buttons
@@ -389,6 +410,8 @@
         if (xdevice == NULL)
                 return;
 
+	g_debug ("setting motion on %s", gdk_device_get_name (device));
+
         if (device_is_touchpad (xdevice))
                 settings = manager->priv->touchpad_settings;
         else
@@ -483,6 +506,8 @@
         if (xdevice == NULL)
                 return;
 
+	g_debug ("setting middle button on %s", gdk_device_get_name (device));
+
         gdk_error_trap_push ();
 
         rc = XGetDeviceProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
@@ -549,7 +574,7 @@
 
                 args[0] = "syndaemon";
                 args[1] = "-i";
-                args[2] = "2.0";
+                args[2] = "1.0";
                 args[3] = "-K";
                 args[4] = "-R";
                 args[5] = NULL;
@@ -607,6 +632,8 @@
                 return;
         }
 
+	g_debug ("setting tap to click on %s", gdk_device_get_name (device));
+
         gdk_error_trap_push ();
         rc = XGetDeviceProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), xdevice, prop, 0, 2,
                                  False, XA_INTEGER, &type, &format, &nitems,
@@ -656,6 +683,8 @@
                 return;
         }
 
+	g_debug ("setting horiz scroll on %s", gdk_device_get_name (device));
+
         gdk_error_trap_push ();
         rc = XGetDeviceProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), xdevice,
                                  prop_edge, 0, 1, False,
@@ -719,6 +748,8 @@
                 return;
         }
 
+	g_debug ("setting edge scroll on %s", gdk_device_get_name (device));
+
         gdk_error_trap_push ();
         rc = XGetDeviceProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), xdevice,
                                  prop_edge, 0, 1, False,
@@ -945,8 +976,8 @@
         for (l = devices; l != NULL; l = l->next) {
                 GdkDevice *device = l->data;
 
-                if (device_is_blacklisted (manager, device))
-                        return;
+                if (device_is_ignored (manager, device))
+                        continue;
 
                 if (g_str_equal (key, KEY_LEFT_HANDED)) {
                         gboolean mouse_left_handed;
@@ -979,10 +1010,8 @@
         for (l = devices; l != NULL; l = l->next) {
                 GdkDevice *device = l->data;
 
-                g_message ("checking on device %s", gdk_device_get_name (device));
-
-                if (device_is_blacklisted (manager, device))
-                        return;
+                if (device_is_ignored (manager, device))
+                        continue;
 
                 if (g_str_equal (key, KEY_TAP_TO_CLICK)) {
                         set_tap_to_click (device, g_settings_get_boolean (settings, key),
@@ -1026,10 +1055,7 @@
                  GdkDevice        *device,
                  GsdMouseManager  *manager)
 {
-        GdkInputSource source;
-
-        source = gdk_device_get_source (device);
-        if (source == GDK_SOURCE_MOUSE || source == GDK_SOURCE_TOUCHPAD) {
+        if (device_is_ignored (manager, device) == FALSE) {
                 if (run_custom_command (device, COMMAND_DEVICE_ADDED) == FALSE) {
                         set_mouse_settings (manager, device);
                 } else {
@@ -1049,18 +1075,17 @@
                    GdkDevice        *device,
                    GsdMouseManager  *manager)
 {
-        GdkInputSource source;
+	int id;
 
-        source = gdk_device_get_source (device);
-        if (source == GDK_SOURCE_MOUSE || source == GDK_SOURCE_TOUCHPAD) {
-                int id;
+	/* Remove the device from the hash table so that
+	 * device_is_ignored () doesn't check for blacklisted devices */
+	g_object_get (G_OBJECT (device), "device-id", &id, NULL);
+	g_hash_table_remove (manager->priv->blacklist,
+			     GINT_TO_POINTER (id));
 
+        if (device_is_ignored (manager, device) == FALSE) {
                 run_custom_command (device, COMMAND_DEVICE_REMOVED);
 
-                g_object_get (G_OBJECT (device), "device-id", &id, NULL);
-                g_hash_table_remove (manager->priv->blacklist,
-                                     GINT_TO_POINTER (id));
-
                 /* If a touchpad was to disappear... */
                 set_disable_w_typing (manager, g_settings_get_boolean (manager->priv->touchpad_settings, KEY_TOUCHPAD_DISABLE_W_TYPING));
         }
@@ -1120,6 +1145,9 @@
         for (l = devices; l != NULL; l = l->next) {
                 GdkDevice *device = l->data;
 
+                if (device_is_ignored (manager, device))
+                        continue;
+
                 if (run_custom_command (device, COMMAND_DEVICE_PRESENT) == FALSE) {
                         set_mouse_settings (manager, device);
                 } else {
diff -Nru gnome-settings-daemon-3.4.2/plugins/mouse/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/mouse/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/orientation/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/orientation/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/power/gpm-common.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/power/gpm-common.c
--- gnome-settings-daemon-3.4.2/plugins/power/gpm-common.c	2011-10-20 17:59:17.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/power/gpm-common.c	2012-09-29 15:08:13.000000000 +0200
@@ -751,12 +751,6 @@
                       "state", &state,
                       NULL);
 
-        /* line power */
-        if (kind == UP_DEVICE_KIND_LINE_POWER) {
-                /* TRANSLATORS: system power cord */
-                return _("AC adapter");
-        }
-
         /* laptop battery */
         if (kind == UP_DEVICE_KIND_BATTERY) {
 
@@ -788,9 +782,6 @@
                         /* TRANSLATORS: battery state */
                         return _("Laptop battery is waiting to discharge");
                 }
-
-                /* TRANSLATORS: laptop primary battery */
-                return _("Laptop battery");
         }
 
         /* UPS */
@@ -812,16 +803,6 @@
                         /* TRANSLATORS: battery state */
                         return _("UPS is charged");
                 }
-
-                /* TRANSLATORS: battery-backed AC power source */
-                return _("UPS");
-        }
-
-        /* monitor */
-        if (kind == UP_DEVICE_KIND_MONITOR) {
-
-                /* TRANSLATORS: a monitor is a device to measure voltage and current */
-                return _("Monitor");
         }
 
         /* mouse */
@@ -843,9 +824,6 @@
                         /* TRANSLATORS: battery state */
                         return _("Mouse is charged");
                 }
-
-                /* TRANSLATORS: wireless mice with internal batteries */
-                return _("Mouse");
         }
 
         /* keyboard */
@@ -867,9 +845,6 @@
                         /* TRANSLATORS: battery state */
                         return _("Keyboard is charged");
                 }
-
-                /* TRANSLATORS: wireless keyboard with internal battery */
-                return _("Keyboard");
         }
 
         /* PDA */
@@ -891,9 +866,6 @@
                         /* TRANSLATORS: battery state */
                         return _("PDA is charged");
                 }
-
-                /* TRANSLATORS: portable device */
-                return _("PDA");
         }
 
         /* phone */
@@ -915,9 +887,6 @@
                         /* TRANSLATORS: battery state */
                         return _("Cell phone is charged");
                 }
-
-                /* TRANSLATORS: cell phone (mobile...) */
-                return _("Cell phone");
         }
 #if UP_CHECK_VERSION(0,9,5)
 
@@ -940,9 +909,6 @@
                         /* TRANSLATORS: battery state */
                         return _("Media player is charged");
                 }
-
-                /* TRANSLATORS: media player, mp3 etc */
-                return _("Media player");
         }
 
         /* tablet */
@@ -964,9 +930,6 @@
                         /* TRANSLATORS: battery state */
                         return _("Tablet is charged");
                 }
-
-                /* TRANSLATORS: tablet device */
-                return _("Tablet");
         }
 
         /* computer */
@@ -988,10 +951,8 @@
                         /* TRANSLATORS: battery state */
                         return _("Computer is charged");
                 }
-
-                /* TRANSLATORS: tablet device */
-                return _("Computer");
         }
 #endif
-        return NULL;
+
+        return gpm_device_kind_to_localised_string (kind, 1);
 }
diff -Nru gnome-settings-daemon-3.4.2/plugins/power/gsd-power-manager.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/power/gsd-power-manager.c
--- gnome-settings-daemon-3.4.2/plugins/power/gsd-power-manager.c	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/power/gsd-power-manager.c	2012-09-29 15:11:23.000000000 +0200
@@ -73,7 +73,7 @@
 #define GSD_POWER_DBUS_INTERFACE_KEYBOARD       "org.gnome.SettingsDaemon.Power.Keyboard"
 
 #define GS_DBUS_NAME                            "org.gnome.ScreenSaver"
-#define GS_DBUS_PATH                            "/"
+#define GS_DBUS_PATH                            "/org/gnome/ScreenSaver"
 #define GS_DBUS_INTERFACE                       "org.gnome.ScreenSaver"
 
 #define GSD_POWER_MANAGER_NOTIFY_TIMEOUT_NEVER          0 /* ms */
@@ -711,6 +711,10 @@
 
         /* icon before, now different */
         if (!g_icon_equal (manager->priv->previous_icon, icon)) {
+
+                /* set fallback icon */
+                gtk_status_icon_set_from_gicon (manager->priv->status_icon, icon);
+
                 g_object_unref (manager->priv->previous_icon);
                 manager->priv->previous_icon = icon;
                 return TRUE;
@@ -1193,6 +1197,28 @@
 }
 
 static void
+on_notification_closed (NotifyNotification *notification, gpointer data)
+{
+    g_object_unref (notification);
+}
+
+static void
+create_notification (const char *summary,
+                     const char *body,
+                     const char *icon,
+                     NotifyNotification **weak_pointer_location)
+{
+        NotifyNotification *notification;
+
+        notification = notify_notification_new (summary, body, icon);
+        *weak_pointer_location = notification;
+        g_object_add_weak_pointer (G_OBJECT (notification),
+                                   (gpointer *) weak_pointer_location);
+        g_signal_connect (notification, "closed",
+                          G_CALLBACK (on_notification_closed), NULL);
+}
+
+static void
 engine_ups_discharging (GsdPowerManager *manager, UpDevice *device)
 {
         const gchar *title;
@@ -1238,9 +1264,9 @@
         notify_close_if_showing (manager->priv->notification_discharging);
 
         /* create a new notification */
-        manager->priv->notification_discharging = notify_notification_new (title,
-                                                                           message->str,
-                                                                           get_first_themed_icon_name (icon));
+        create_notification (title, message->str,
+                             get_first_themed_icon_name (icon),
+                             &manager->priv->notification_discharging);
         notify_notification_set_timeout (manager->priv->notification_discharging,
                                          GSD_POWER_MANAGER_NOTIFY_TIMEOUT_LONG);
         notify_notification_set_urgency (manager->priv->notification_discharging,
@@ -1249,8 +1275,6 @@
         notify_notification_set_app_name (manager->priv->notification_discharging, _("Power"));
         notify_notification_set_hint (manager->priv->notification_discharging,
                                       "transient", g_variant_new_boolean (TRUE));
-        g_object_add_weak_pointer (G_OBJECT (manager->priv->notification_discharging),
-                                   (gpointer) &manager->priv->notification_discharging);
 
         /* try to show */
         ret = notify_notification_show (manager->priv->notification_discharging,
@@ -1417,9 +1441,9 @@
         notify_close_if_showing (manager->priv->notification_low);
 
         /* create a new notification */
-        manager->priv->notification_low = notify_notification_new (title,
-                                                                   message,
-                                                                   get_first_themed_icon_name (icon));
+        create_notification (title, message,
+                             get_first_themed_icon_name (icon),
+                             &manager->priv->notification_low);
         notify_notification_set_timeout (manager->priv->notification_low,
                                          GSD_POWER_MANAGER_NOTIFY_TIMEOUT_LONG);
         notify_notification_set_urgency (manager->priv->notification_low,
@@ -1427,8 +1451,6 @@
         notify_notification_set_app_name (manager->priv->notification_low, _("Power"));
         notify_notification_set_hint (manager->priv->notification_low,
                                       "transient", g_variant_new_boolean (TRUE));
-        g_object_add_weak_pointer (G_OBJECT (manager->priv->notification_low),
-                                   (gpointer) &manager->priv->notification_low);
 
         /* try to show */
         ret = notify_notification_show (manager->priv->notification_low,
@@ -1598,16 +1620,14 @@
         notify_close_if_showing (manager->priv->notification_low);
 
         /* create a new notification */
-        manager->priv->notification_low = notify_notification_new (title,
-                                                                   message,
-                                                                   get_first_themed_icon_name (icon));
+        create_notification (title, message,
+                             get_first_themed_icon_name (icon),
+                             &manager->priv->notification_low);
         notify_notification_set_timeout (manager->priv->notification_low,
                                          GSD_POWER_MANAGER_NOTIFY_TIMEOUT_NEVER);
         notify_notification_set_urgency (manager->priv->notification_low,
                                          NOTIFY_URGENCY_CRITICAL);
         notify_notification_set_app_name (manager->priv->notification_low, _("Power"));
-        g_object_add_weak_pointer (G_OBJECT (manager->priv->notification_low),
-                                   (gpointer) &manager->priv->notification_low);
 
         /* try to show */
         ret = notify_notification_show (manager->priv->notification_low,
@@ -1747,16 +1767,14 @@
         notify_close_if_showing (manager->priv->notification_low);
 
         /* create a new notification */
-        manager->priv->notification_low = notify_notification_new (title,
-                                                                   message,
-                                                                   get_first_themed_icon_name (icon));
+        create_notification (title, message,
+                             get_first_themed_icon_name (icon),
+                             &manager->priv->notification_low);
         notify_notification_set_timeout (manager->priv->notification_low,
                                          GSD_POWER_MANAGER_NOTIFY_TIMEOUT_NEVER);
         notify_notification_set_urgency (manager->priv->notification_low,
                                          NOTIFY_URGENCY_CRITICAL);
         notify_notification_set_app_name (manager->priv->notification_low, _("Power"));
-        g_object_add_weak_pointer (G_OBJECT (manager->priv->notification_low),
-                                   (gpointer) &manager->priv->notification_low);
 
         /* try to show */
         ret = notify_notification_show (manager->priv->notification_low,
diff -Nru gnome-settings-daemon-3.4.2/plugins/power/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/power/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/print-notifications/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/print-notifications/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/smartcard/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/smartcard/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/sound/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/sound/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/updates/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/updates/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/wacom/gsd-wacom-device.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/wacom/gsd-wacom-device.c
--- gnome-settings-daemon-3.4.2/plugins/wacom/gsd-wacom-device.c	2012-05-15 12:14:49.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/wacom/gsd-wacom-device.c	2012-09-29 15:11:23.000000000 +0200
@@ -373,6 +373,8 @@
 	name = XGetAtomName (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), pev->property);
 	if (name == NULL ||
 	    g_strcmp0 (name, WACOM_SERIAL_IDS_PROP) != 0) {
+		if (name)
+			XFree (name);
 		return GDK_FILTER_CONTINUE;
 	}
 	XFree (name);
@@ -477,10 +479,10 @@
                                  device, prop, 0, 1, False,
                                  XA_ATOM, &realtype, &realformat, &nitems,
                                  &bytes_after, &data);
-        if (gdk_error_trap_pop () || rc != Success || realtype == None) {
-                XCloseDevice (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), device);
+        XCloseDevice (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), device);
+
+        if (gdk_error_trap_pop () || rc != Success || realtype == None)
                 ret = WACOM_TYPE_INVALID;
-        }
 
         XFree (data);
 
@@ -572,23 +574,31 @@
 	GSettings *tablet;
 	GVariant *display;
 	const gchar **edid;
+	GnomeRROutputInfo *ret;
 
 	if (device == NULL)
 		return NULL;
 
+	ret      = NULL;
 	tablet   = device->priv->wacom_settings;
 	display  = g_settings_get_value (tablet, "display");
 	edid     = g_variant_get_strv (display, &n);
 
 	if (n != 3) {
 		g_critical ("Expected 'display' key to store %d values; got %"G_GSIZE_FORMAT".", 3, n);
-		return NULL;
+		goto out;
 	}
 
 	if (strlen(edid[0]) == 0 || strlen(edid[1]) == 0 || strlen(edid[2]) == 0)
-		return NULL;
+		goto out;
 
-	return find_output_by_edid (edid[0], edid[1], edid[2]);
+	ret = find_output_by_edid (edid[0], edid[1], edid[2]);
+
+out:
+	g_free (edid);
+	g_variant_unref (display);
+
+	return ret;
 }
 
 static GnomeRROutputInfo*
@@ -909,6 +919,8 @@
 			name = g_strdup_printf (_("Left Ring Mode #%d"), i);
 			id = g_strdup_printf ("left-ring-mode-%d", i);
 			l = g_list_append (l, gsd_wacom_tablet_button_new (name, id, settings_path, WACOM_TABLET_BUTTON_TYPE_ELEVATOR, flags_to_group (WACOM_BUTTON_RING_MODESWITCH), i - 1));
+			g_free (name);
+			g_free (id);
 		}
 	} else if ((direction & WACOM_BUTTON_POSITION_RIGHT) && libwacom_has_ring2 (wacom_device)) {
 		num_modes = libwacom_get_ring2_num_modes (wacom_device);
@@ -916,6 +928,8 @@
 			name = g_strdup_printf (_("Right Ring Mode #%d"), i);
 			id = g_strdup_printf ("right-ring-mode-%d", i);
 			l = g_list_append (l, gsd_wacom_tablet_button_new (name, id, settings_path, WACOM_TABLET_BUTTON_TYPE_ELEVATOR, flags_to_group (WACOM_BUTTON_RING2_MODESWITCH), i - 1));
+			g_free (name);
+			g_free (id);
 		}
 	}
 
@@ -944,6 +958,8 @@
 			name = g_strdup_printf (_("Left Touchstrip Mode #%d"), i);
 			id = g_strdup_printf ("left-strip-mode-%d", i);
 			l = g_list_append (l, gsd_wacom_tablet_button_new (name, id, settings_path, WACOM_TABLET_BUTTON_TYPE_ELEVATOR, flags_to_group (WACOM_BUTTON_TOUCHSTRIP_MODESWITCH), i - 1));
+			g_free (name);
+			g_free (id);
 		}
 	} else if ((direction & WACOM_BUTTON_POSITION_RIGHT) && num_strips >= 2) {
 		num_modes = libwacom_get_strips_num_modes (wacom_device);
@@ -951,6 +967,8 @@
 			name = g_strdup_printf (_("Right Touchstrip Mode #%d"), i);
 			id = g_strdup_printf ("right-strip-mode-%d", i);
 			l = g_list_append (l, gsd_wacom_tablet_button_new (name, id, settings_path, WACOM_TABLET_BUTTON_TYPE_ELEVATOR, flags_to_group (WACOM_BUTTON_TOUCHSTRIP2_MODESWITCH), i - 1));
+			g_free (name);
+			g_free (id);
 		}
 	}
 
@@ -1125,7 +1143,7 @@
 
 	if (device->priv->type == WACOM_TYPE_STYLUS ||
 	    device->priv->type == WACOM_TYPE_ERASER) {
-		int *ids;
+		const int *ids;
 		int num_styli;
 		guint i;
 
@@ -1322,6 +1340,9 @@
                 p->wacom_settings = NULL;
         }
 
+        g_list_foreach (p->styli, (GFunc) g_object_unref, NULL);
+        g_list_free (p->styli);
+
         g_list_foreach (p->buttons, (GFunc) gsd_wacom_tablet_button_free, NULL);
         g_list_free (p->buttons);
 
diff -Nru gnome-settings-daemon-3.4.2/plugins/wacom/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/wacom/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/xrandr/gsd-xrandr-manager.c gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/xrandr/gsd-xrandr-manager.c
--- gnome-settings-daemon-3.4.2/plugins/xrandr/gsd-xrandr-manager.c	2012-04-12 11:54:14.000000000 +0200
+++ gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/xrandr/gsd-xrandr-manager.c	2012-09-29 15:11:23.000000000 +0200
@@ -912,6 +912,8 @@
                 result = NULL;
         }
 
+        gnome_rr_config_set_clone (result, TRUE);
+
         print_configuration (result, "clone setup");
 
         return result;
@@ -1013,6 +1015,8 @@
                 result = NULL;
         }
 
+        gnome_rr_config_set_clone (result, FALSE);
+
         print_configuration (result, "Laptop setup");
 
         /* FIXME - Maybe we should return NULL if there is more than
@@ -1153,6 +1157,8 @@
                 result = NULL;
         }
 
+        gnome_rr_config_set_clone (result, FALSE);
+
         print_configuration (result, "xinerama setup");
 
         return result;
@@ -1186,6 +1192,8 @@
                 result = NULL;
         }
 
+        gnome_rr_config_set_clone (result, FALSE);
+
         print_configuration (result, "other setup");
 
         return result;
diff -Nru gnome-settings-daemon-3.4.2/plugins/xrandr/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/xrandr/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/plugins/xsettings/Makefile.in gnome-settings-daemon-3.4.2+git20120925.a4c817/plugins/xsettings/Makefile.in
diff -Nru gnome-settings-daemon-3.4.2/po/de.po gnome-settings-daemon-3.4.2+git20120925.a4c817/po/de.po
diff -Nru gnome-settings-daemon-3.4.2/po/kn.po gnome-settings-daemon-3.4.2+git20120925.a4c817/po/kn.po
diff -Nru gnome-settings-daemon-3.4.2/po/sk.po gnome-settings-daemon-3.4.2+git20120925.a4c817/po/sk.po

--- End Message ---
--- Begin Message ---
On Sat, 2012-09-29 at 15:54 +0200, Josselin Mouette wrote:
> Please unblock the new gnome-settings-daemon version.
> 
> Rather than cherry-picking most patches in the gnome-3-4 branch, I just 
> made a new snapshot. It includes useful changes I’d like to see in 
> wheezy:
>  - a lot of wacom-related fixes
>  - removal of the buggy DBus-activation mechanism
>  - some crashers and other bugs

Unblocked; thanks.

Regards,

Adam

--- End Message ---

Reply to: