1455315111
Under GNOME resizing a window often caused the window contents could be a different size to the window-frame, resizing was also slow. This occurred with LIBDECOR on Wayland when a window configure event was called from a non-main thread. Resolve by postponing the commit-configuration call until the main event can handle it (matching XDG behavior). A workaround using malloc_usable_size is currently needed. While relying on the malloc size is not so portable and worth avoiding, it resolves noticeable glitches and allows other workarounds to be removed. Any application that supports threaded event handing with LIBDECOR will need a way to postpone applying the configuration. Even once LIBDECOR supports this properly, a workaround is necessary until support older versions of LIBDECOR can be dropped.