resizor: Don't resize if maximized
authorKristian Høgsberg <krh@bitplanet.net>
Fri, 17 Jan 2014 23:31:33 +0000 (15:31 -0800)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 17 Jan 2014 23:31:33 +0000 (15:31 -0800)
https://bugs.freedesktop.org/show_bug.cgi?id=73723

clients/resizor.c

index 9cf1a3c..b5ea55f 100644 (file)
@@ -77,6 +77,14 @@ frame_callback(void *data, struct wl_callback *callback, uint32_t time)
 
        assert(!callback || callback == resizor->frame_callback);
 
+       if (resizor->frame_callback) {
+               wl_callback_destroy(resizor->frame_callback);
+               resizor->frame_callback = NULL;
+       }
+
+       if (window_is_maximized(resizor->window))
+               return;
+
        spring_update(&resizor->width);
        spring_update(&resizor->height);
 
@@ -84,11 +92,6 @@ frame_callback(void *data, struct wl_callback *callback, uint32_t time)
                               resizor->width.current + 0.5,
                               resizor->height.current + 0.5);
 
-       if (resizor->frame_callback) {
-               wl_callback_destroy(resizor->frame_callback);
-               resizor->frame_callback = NULL;
-       }
-
        if (!spring_done(&resizor->width) || !spring_done(&resizor->height)) {
                resizor->frame_callback =
                        wl_surface_frame(