]> git.mdlowis.com Git - proto/labwc.git/commit
xdg: fix de-synced SSD when shrinking Thunderbird window
authortokyo4j <hrak1529@gmail.com>
Sun, 29 Sep 2024 19:37:05 +0000 (04:37 +0900)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Mon, 30 Sep 2024 01:19:54 +0000 (10:19 +0900)
commit014d07651f5291bf8aa0a7dc3e07013a011df716
tree9308992ac810e1c72eb1b53af7492130658c12ef
parent3394f191a47e78385e09e9f2372842ae6f694abf
xdg: fix de-synced SSD when shrinking Thunderbird window

On a slow mechine or heavy load, we sometimes see de-synced SSD with
Thunderbird windows when shrinking it. Here's how it happened:

1. Labwc sends a configure event.
2. The configure event timeouts and labwc resets view->{pending,current}
   with the old geometry.
3. Thunderbird updates the toplevel window geometry and the toplevel
   surface size, but not the subsurface size. Then it sends a commit.
4. Since now the committed window geometry and view->pending are
   different, the workaround for Qt apps is applied and the whole surface
   extent is set to view->current. Thus SSD stays in the old geometry.
5. Thunderbird finally updates the subsurface size.

So, this commit fixes this conflict between Thunderbird and the workaround
for Qt apps by using the toplevel surface size instead of the whole
surface extent to update view->current.
src/xdg.c