commit b1a0e95e8e6ecf66542cc62e6109949de59afb5e
parent a032925ae7667e917f2bd8d1b77de97b400b3bf7
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date: Tue, 25 Sep 2018 08:21:22 +1000
Fix crash when disconnecting output
If the output being disconnected contains views, and the views are being
relocated to another output of a different size, a transaction must
occur to reconfigure them. This means by the time
container_discover_outputs is called, the output is already disabled and
wlr_output is NULL.
I considered making it check output->wlr_output, but output->enabled
should work just as well and is more descriptive.
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sway/tree/container.c b/sway/tree/container.c
@@ -985,7 +985,8 @@ void container_discover_outputs(struct sway_container *con) {
}
}
struct sway_output *new_output = container_get_effective_output(con);
- double old_scale = old_output ? old_output->wlr_output->scale : -1;
+ double old_scale = old_output && old_output->enabled ?
+ old_output->wlr_output->scale : -1;
double new_scale = new_output ? new_output->wlr_output->scale : -1;
if (old_scale != new_scale) {
container_update_title_textures(con);