diff -up gtk+-2.14.4/gdk/x11/gdkscreen-x11.c.randr-fix gtk+-2.14.4/gdk/x11/gdkscreen-x11.c --- gtk+-2.14.4/gdk/x11/gdkscreen-x11.c.randr-fix 2008-10-22 00:57:46.000000000 -0400 +++ gtk+-2.14.4/gdk/x11/gdkscreen-x11.c 2008-10-22 00:59:18.000000000 -0400 @@ -894,6 +894,11 @@ void _gdk_x11_screen_size_changed (GdkScreen *screen, XEvent *event) { + gint width, height; + + width = gdk_screen_get_width (screen); + height = gdk_screen_get_height (screen); + #ifdef HAVE_RANDR if (!XRRUpdateConfiguration (event)) return; @@ -909,6 +914,10 @@ _gdk_x11_screen_size_changed (GdkScreen else return; #endif + + if (gdk_screen_get_width (screen) == width && + gdk_screen_get_height (screen) == height) + return; _gdk_x11_screen_process_monitors_change (screen); g_signal_emit_by_name (screen, "size_changed");