From fe8f6f60dcb70178b68315dab232a6cfe7aa0b0e Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Wed, 26 Nov 2014 17:07:56 -0800 Subject: [PATCH] gdkdisplay-x11: Don't do extra work when simply moving the window We shouldn't bother recalculating all the visible regions and wiping away the old updating areas if we're simply dragging the window around. --- gdk/x11/gdkdisplay-x11.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index d6543c1e38..89c2b7df74 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -828,13 +828,18 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, { window->x = event->configure.x; window->y = event->configure.y; - window_impl->unscaled_width = xevent->xconfigure.width; - window_impl->unscaled_height = xevent->xconfigure.height; - window->width = event->configure.width; - window->height = event->configure.height; - _gdk_window_update_size (window); - _gdk_x11_window_update_size (window_impl); + if (window_impl->unscaled_width != xevent->xconfigure.width || + window_impl->unscaled_height != xevent->xconfigure.height) + { + window_impl->unscaled_width = xevent->xconfigure.width; + window_impl->unscaled_height = xevent->xconfigure.height; + window->width = event->configure.width; + window->height = event->configure.height; + + _gdk_window_update_size (window); + _gdk_x11_window_update_size (window_impl); + } if (window->resize_count >= 1) {