Created attachment 6435
If, upon mapping, WM_SIZE_HINTS specifies a non-resizable window, xfwm4 ignores all subsequent updates to WM_SIZE_HINTS set by the application.
The attachment reproduces this race condition in action. The application creates an application window that's initially non-resizable, then updates WM_SIZE_HINTS to indicate that the window's width can be adjusted.
The sleep() results in the xfwm4 having enough time to see the initial fixed-size WM_SIZE_HINTS, and then ignore the subsequent update.
Removing the sleep usually results in the application changing its WM_SIZE_HINTS fast enough before xfwm4 sees the initial WM_SIZE_HINTS value. xfwm4 ends up seeing the final WM_SIZE_HINTS that specifies a resizable window, and the user is then able to adjust the window's width.
That's a regresion introduced by commit 78b5c3c (bug 10910). Fix is trivial.
A fix for this has been pushed as commit 46b7cf in git master.
*** Bug 13338 has been marked as a duplicate of this bug. ***