--- ./configure.ac.orig 2015-11-09 22:07:56.000000000 +0100
-+++ ./configure.ac 2016-03-08 08:41:00.272778500 +0100
++++ ./configure.ac 2016-03-08 16:28:04.400380600 +0100
@@ -116,15 +116,11 @@
GDK_PIXBUF_REQUIRED=2.21.3
GTK_REQUIRED=3.3.6
AC_SUBST(ISO_CODES_PREFIX)
--- ./libgnome-desktop/gnome-bg-crossfade.c.orig 2014-03-06 14:55:01.000000000 +0100
-+++ ./libgnome-desktop/gnome-bg-crossfade.c 2016-03-08 08:44:29.146067400 +0100
++++ ./libgnome-desktop/gnome-bg-crossfade.c 2016-03-08 16:28:04.431664600 +0100
@@ -27,13 +27,11 @@
#include <gio/gio.h>
#define GNOME_DESKTOP_USE_UNSTABLE_API
#include "gnome-bg.h"
--- ./libgnome-desktop/gnome-bg.c.orig 2014-03-06 19:57:48.000000000 +0100
-+++ ./libgnome-desktop/gnome-bg.c 2016-03-08 08:44:13.851502400 +0100
++++ ./libgnome-desktop/gnome-bg.c 2016-03-08 16:28:04.459038500 +0100
@@ -35,12 +35,11 @@
#include <glib/gstdio.h>
#include <gio/gio.h>
#define GNOME_DESKTOP_USE_UNSTABLE_API
#include "gnome-bg.h"
--- ./libgnome-desktop/gnome-desktop-thumbnail.c.orig 2015-11-09 21:42:24.000000000 +0100
-+++ ./libgnome-desktop/gnome-desktop-thumbnail.c 2016-03-08 08:41:00.397780600 +0100
++++ ./libgnome-desktop/gnome-desktop-thumbnail.c 2016-03-08 16:28:04.486411600 +0100
@@ -1504,7 +1504,7 @@
goto out;
close (tmp_fd);
width = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Width");
height = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Height");
---- ./libgnome-desktop/gnome-rr-config.c.orig 2016-03-08 08:43:47.477808200 +0100
-+++ ./libgnome-desktop/gnome-rr-config.c 2016-03-08 08:43:51.797931600 +0100
+--- ./libgnome-desktop/gnome-idle-monitor.c.orig 2014-03-06 19:59:25.000000000 +0100
++++ ./libgnome-desktop/gnome-idle-monitor.c 2016-03-08 16:28:04.530404300 +0100
+@@ -24,7 +24,6 @@
+ #include <string.h>
+
+ #include <glib.h>
+-#include <gdk/gdkx.h>
+ #include <gdk/gdk.h>
+
+ #define GNOME_DESKTOP_USE_UNSTABLE_API
+@@ -33,8 +32,6 @@
+
+ #define GNOME_IDLE_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitorPrivate))
+
+-G_STATIC_ASSERT(sizeof(unsigned long) == sizeof(gpointer));
+-
+ struct _GnomeIdleMonitorPrivate
+ {
+ GCancellable *cancellable;
+@@ -205,8 +202,7 @@
+
+ g_free (monitor->priv->path);
+ if (monitor->priv->device) {
+- monitor->priv->path = g_strdup_printf ("/org/gnome/Mutter/IdleMonitor/Device%d",
+- gdk_x11_device_get_id (monitor->priv->device));
++ monitor->priv->path = g_strdup ("/org/gnome/Mutter/IdleMonitor/Core");
+ } else {
+ monitor->priv->path = g_strdup ("/org/gnome/Mutter/IdleMonitor/Core");
+ }
+--- ./libgnome-desktop/gnome-languages.c.orig 2015-07-21 05:16:52.000000000 +0200
++++ ./libgnome-desktop/gnome-languages.c 2016-03-08 16:28:04.555823600 +0100
+@@ -29,7 +29,6 @@
+ #include <errno.h>
+ #include <dirent.h>
+ #include <locale.h>
+-#include <langinfo.h>
+ #include <sys/stat.h>
+
+ #include <glib.h>
+@@ -39,7 +38,6 @@
+ #define GNOME_DESKTOP_USE_UNSTABLE_API
+ #include "gnome-languages.h"
+
+-#include <langinfo.h>
+ #ifndef __LC_LAST
+ #define __LC_LAST 13
+ #endif
+@@ -320,7 +318,7 @@
+ return;
+ }
+
+- codeset = nl_langinfo (CODESET);
++ codeset = NULL;
+
+ if (pcodeset != NULL) {
+ *pcodeset = g_strdup (codeset);
+@@ -504,12 +502,12 @@
+ int ndirents;
+ int cnt;
+
+- ndirents = scandir (LIBLOCALEDIR, &dirents, select_dirs, alphasort);
++ /*ndirents = scandir (LIBLOCALEDIR, &dirents, select_dirs, alphasort);
+
+ for (cnt = 0; cnt < ndirents; ++cnt) {
+ if (add_locale (dirents[cnt]->d_name, TRUE))
+ found_locales = TRUE;
+- }
++ }*/
+
+ if (ndirents > 0) {
+ free (dirents);
+--- ./libgnome-desktop/gnome-rr-config.c.orig 2015-07-21 05:16:52.000000000 +0200
++++ ./libgnome-desktop/gnome-rr-config.c 2016-03-08 16:28:04.583197100 +0100
@@ -34,7 +34,7 @@
#include <glib/gstdio.h>
#include "gnome-rr-config.h"
+--- ./libgnome-desktop/gnome-wall-clock.c.orig 2014-06-26 18:33:06.000000000 +0200
++++ ./libgnome-desktop/gnome-wall-clock.c 2016-03-08 16:28:04.612525500 +0100
+@@ -25,7 +25,6 @@
+ #include "config.h"
+
+ #include <glib/gi18n-lib.h>
+-#include <langinfo.h>
+
+ #define GNOME_DESKTOP_USE_UNSTABLE_API
+ #include "gnome-wall-clock.h"
+@@ -87,7 +86,7 @@
+ self->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
+ g_signal_connect (self->priv->desktop_settings, "changed", G_CALLBACK (on_schema_change), self);
+
+- ampm = nl_langinfo (AM_STR);
++ ampm = NULL;
+ if (ampm != NULL && *ampm != '\0')
+ self->priv->ampm_available = TRUE;
+
+--- ./libgnome-desktop/Makefile.am.orig 2015-07-21 05:16:52.000000000 +0200
++++ ./libgnome-desktop/Makefile.am 2016-03-08 16:31:28.112380100 +0100
+@@ -22,9 +22,6 @@
+ introspection_sources = \
+ gnome-desktop-thumbnail.c \
+ gnome-thumbnail-pixbuf-utils.c \
+- gnome-bg.c \
+- gnome-bg-slide-show.c \
+- gnome-bg-crossfade.c \
+ gnome-rr.c \
+ gnome-rr-config.c \
+ gnome-rr-output-info.c \
+@@ -82,9 +79,6 @@
+
+ libgnome_desktopdir = $(includedir)/gnome-desktop-3.0/libgnome-desktop
+ libgnome_desktop_HEADERS = \
+- gnome-bg.h \
+- gnome-bg-crossfade.h \
+- gnome-bg-slide-show.h \
+ gnome-desktop-thumbnail.h \
+ gnome-rr.h \
+ gnome-rr-config.h \
+--- ./libgnome-desktop/test-idle-monitor.c.orig 2014-03-06 19:57:48.000000000 +0100
++++ ./libgnome-desktop/test-idle-monitor.c 2016-03-08 16:28:04.665318700 +0100
+@@ -1,5 +1,5 @@
+ #include <gtk/gtk.h>
+-#include <gdk/gdkx.h>
++#include <gdk/gdk.h>
+ #define GNOME_DESKTOP_USE_UNSTABLE_API
+ #include "libgnome-desktop/gnome-idle-monitor.h"
+
+@@ -16,7 +16,6 @@
+ int device_id;
+
+ g_object_get (monitor, "device", &device, NULL);
+- device_id = gdk_x11_device_get_id (device);
+ g_message ("Active watch func called for device %s (id: %d, watch id %d)",
+ gdk_device_get_name (device),
+ device_id,
+@@ -32,7 +31,6 @@
+ int device_id;
+
+ g_object_get (monitor, "device", &device, NULL);
+- device_id = gdk_x11_device_get_id (device);
+ watch_id = gnome_idle_monitor_add_user_active_watch (monitor,
+ active_watch_func,
+ NULL,
+@@ -52,7 +50,6 @@
+ int device_id;
+
+ g_object_get (monitor, "device", &device, NULL);
+- device_id = gdk_x11_device_get_id (device);
+ g_message ("Idle watch func called for device %s (id: %d, watch id %d)",
+ gdk_device_get_name (device),
+ device_id,
+@@ -72,7 +69,6 @@
+ int device_id;
+ GError *error = NULL;
+
+- device_id = gdk_x11_device_get_id (device);
+ monitor = gnome_idle_monitor_new_for_device (device, &error);
+ if (!monitor) {
+ g_warning ("Per-device idletime monitor not available: %s", error->message);
+@@ -103,10 +99,9 @@
+ gpointer user_data)
+ {
+ g_hash_table_remove (monitors,
+- GINT_TO_POINTER (gdk_x11_device_get_id (device)));
++ GINT_TO_POINTER (0));
+ g_message ("Removed watch for device %s (%d)",
+- gdk_device_get_name (device),
+- gdk_x11_device_get_id (device));
++ gdk_device_get_name (device), 0);
+ }
+
+ static void