Made the window save the coordinates when being draged.
authorJoel Teichroeb <joel@teichroeb.net>
Tue, 30 Nov 2010 18:22:13 +0000 (10:22 -0800)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 30 Nov 2010 18:26:31 +0000 (13:26 -0500)
clients/window.c

index 3860d1e..f720bf8 100644 (file)
@@ -1018,14 +1018,16 @@ handle_configure(void *data, struct wl_shell *shell,
        window->pending_allocation.width = width;
        window->pending_allocation.height = height;
 
-       if (!(edges & 15))
-               return;
-
-       if (window->resize_handler)
-               (*window->resize_handler)(window,
-                                         window->user_data);
-       else if (window->redraw_handler)
-               window_schedule_redraw(window);
+       if (edges & WINDOW_TITLEBAR) {
+               window->allocation.x = window->pending_allocation.x;
+               window->allocation.y = window->pending_allocation.y;
+       } else if (edges & WINDOW_RESIZING_MASK) {
+               if (window->resize_handler)
+                       (*window->resize_handler)(window,
+                                                 window->user_data);
+               else if (window->redraw_handler)
+                       window_schedule_redraw(window);
+       }
 }
 
 static const struct wl_shell_listener shell_listener = {