Updating branch refs/heads/xfce-4.8 to 039cd4be27485bc05106c8fbe614c6355585a266 (commit) from 9aa6103433662140b4de11ca34086f4fe7060a3d (commit)
commit 039cd4be27485bc05106c8fbe614c6355585a266 Author: Olivier Fourdan <four...@xfce.org> Date: Tue Jan 10 08:00:24 2012 +0100 Avoid entering the move/resize loop twice (can happen when using NET_WM_MOVERESIZE client message). src/moveresize.c | 36 ++++++++++++++++++++++-------------- 1 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/moveresize.c b/src/moveresize.c index ff6bf40..7a0ec2a 100644 --- a/src/moveresize.c +++ b/src/moveresize.c @@ -962,18 +962,20 @@ clientMove (Client * c, XEvent * ev) g_return_if_fail (c != NULL); TRACE ("entering clientDoMove"); - TRACE ("moving client \"%s\" (0x%lx)", c->name, c->window); - if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)) + if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING) || + !FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MOVE)) { return; } - if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MOVE)) + if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)) { return; } + TRACE ("moving client \"%s\" (0x%lx)", c->name, c->window); + if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED) && !FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)) { @@ -1508,18 +1510,8 @@ clientResize (Client * c, int handle, XEvent * ev) g_return_if_fail (c != NULL); TRACE ("entering clientResize"); - TRACE ("resizing client \"%s\" (0x%lx)", c->name, c->window); - - screen_info = c->screen_info; - display_info = screen_info->display_info; - - if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)) - { - return; - } - if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED) - && (screen_info->params->borderless_maximize)) + if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING)) { return; } @@ -1533,6 +1525,22 @@ clientResize (Client * c, int handle, XEvent * ev) return; } + if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)) + { + return; + } + + screen_info = c->screen_info; + display_info = screen_info->display_info; + + if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED) + && (screen_info->params->borderless_maximize)) + { + return; + } + + TRACE ("resizing client \"%s\" (0x%lx)", c->name, c->window); + passdata.c = c; passdata.cancel_x = passdata.ox = c->x; passdata.cancel_y = passdata.oy = c->y; _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits