swayfx/sway/desktop
Ryan Dwyer 9642b87b9e Fix crash when views rapidly map and unmap
Suppose the following:

* Transactions are already in progress - say transaction A.
* View A maps, which creates transaction B and appends it to the
transaction queue.
* View B maps, which creates transaction C and appends it to the queue.
* View A unmaps, which creates transaction D and appends it to the
queue.
* Transaction A completes, so transaction B attempts to save View A's
buffer, but this doesn't exist so it saves nothing.
* Rendering code attempts to render View A, but there is no saved buffer
nor live buffer that it can use.

Rather than implement an elaborate solution for a rare circumstance,
I've take the safe option of just not rendering anything for that view.
It means that if you reproduce the scenario above, you might get the
title and borders rendered but no surface.
2018-09-06 11:39:52 +10:00
..
desktop.c Implement type safe arguments and demote sway_container 2018-09-05 18:01:43 +10:00
idle_inhibit_v1.c Fix memory leak in sway/desktop/idle_inhibit_v1.c 2018-07-17 11:35:24 -04:00
layer_shell.c Implement type safe arguments and demote sway_container 2018-09-05 18:01:43 +10:00
output.c Fix output position issue 2018-09-05 18:01:43 +10:00
render.c Fix crash when views rapidly map and unmap 2018-09-06 11:39:52 +10:00
transaction.c Implement type safe arguments and demote sway_container 2018-09-05 18:01:43 +10:00
xdg_shell.c Don't use wlr_output properties 2018-09-05 18:01:43 +10:00
xdg_shell_v6.c Don't use wlr_output properties 2018-09-05 18:01:43 +10:00
xwayland.c Implement type safe arguments and demote sway_container 2018-09-05 18:01:43 +10:00