diff -Naurb unity-settings-daemon-15.04.1+16.04.20160209/gnome-settings-daemon/gsd-rr-config.c unity-settings-daemon-15.04.1+16.04.20160209-modified/gnome-settings-daemon/gsd-rr-config.c --- unity-settings-daemon-15.04.1+16.04.20160209/gnome-settings-daemon/gsd-rr-config.c 2016-02-09 11:03:35.000000000 +0100 +++ unity-settings-daemon-15.04.1+16.04.20160209-modified/gnome-settings-daemon/gsd-rr-config.c 2016-04-27 20:10:33.462989500 +0200 @@ -522,6 +522,7 @@ GsdRRCrtc *crtc; output->priv->name = g_strdup (gsd_rr_output_get_name (rr_output)); + output->priv->id = gsd_rr_output_get_id(rr_output); output->priv->connected = gsd_rr_output_is_connected (rr_output); output->priv->display_name = g_strdup (gsd_rr_output_get_display_name (rr_output)); @@ -867,7 +868,7 @@ } static GsdRROutputInfo * -find_output (GsdRRConfig *config, const char *name) +find_output (GsdRRConfig *config, guint32 id) { int i; @@ -875,7 +876,7 @@ { GsdRROutputInfo *output = config->priv->outputs[i]; - if (strcmp (name, output->priv->name) == 0) + if (id == output->priv->id) return output; } @@ -897,7 +898,7 @@ GsdRROutputInfo *output1 = c1->priv->outputs[i]; GsdRROutputInfo *output2; - output2 = find_output (c2, output1->priv->name); + output2 = find_output (c2, output1->priv->id); if (!output2 || !output_match (output1, output2)) return FALSE; } @@ -921,7 +922,7 @@ GsdRROutputInfo *output1 = c1->priv->outputs[i]; GsdRROutputInfo *output2; - output2 = find_output (c2, output1->priv->name); + output2 = find_output (c2, output1->priv->id); if (!output2 || !output_equal (output1, output2)) return FALSE; } diff -Naurb unity-settings-daemon-15.04.1+16.04.20160209/gnome-settings-daemon/gsd-rr-private.h unity-settings-daemon-15.04.1+16.04.20160209-modified/gnome-settings-daemon/gsd-rr-private.h --- unity-settings-daemon-15.04.1+16.04.20160209/gnome-settings-daemon/gsd-rr-private.h 2016-02-09 11:03:35.000000000 +0100 +++ unity-settings-daemon-15.04.1+16.04.20160209-modified/gnome-settings-daemon/gsd-rr-private.h 2016-04-27 09:41:17.102323000 +0200 @@ -47,6 +47,7 @@ struct _GsdRROutputInfoPrivate { char * name; + guint32 id; gboolean on; int width;