wok-next view openbox/stuff/patches/15_race_fix.patch @ rev 21727

created recipe for vbindiff
author Hans-G?nter Theisgen
date Sat Nov 21 14:32:44 2020 +0100 (2020-11-21)
parents
children
line source
1 diff --git a/openbox/client.c b/openbox/client.c
2 index 8317f4b..5559c03 100644
3 --- a/openbox/client.c
4 +++ b/openbox/client.c
5 @@ -3186,12 +3186,12 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
6 /* for app-requested resizes, always resize if 'resized' is true.
7 for user-requested ones, only resize if final is true, or when
8 resizing in redraw mode */
9 + gboolean app_rq = !user && resized;
10 send_resize_client = ((!user && resized) ||
11 (user && (final ||
12 (resized && config_resize_redraw))));
13 -
14 /* if the client is enlarging, then resize the client before the frame */
15 - if (send_resize_client && (w > oldclient.width || h > oldclient.height)) {
16 + if (!app_rq && send_resize_client && (w > oldclient.width || h > oldclient.height)) {
17 XMoveResizeWindow(obt_display, self->window,
18 self->frame->size.left, self->frame->size.top,
19 MAX(w, oldclient.width), MAX(h, oldclient.height));
20 @@ -3284,7 +3284,8 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
21 both of these resize sections may run, because the top one only resizes
22 in the direction that is growing
23 */
24 - if (send_resize_client && (w <= oldclient.width || h <= oldclient.height))
25 + if ((send_resize_client && (w <= oldclient.width || h <= oldclient.height))
26 + || (app_rq && (w != oldclient.width || h != oldclient.height)))
27 {
28 frame_adjust_client_area(self->frame);
29 XMoveResizeWindow(obt_display, self->window,