commit cfc80c8f44ef47b8da903687f075382a1432ae04
parent 0e0c97db5614876888f37ea4b35dd2867a336c5a
Author: Leonardo Hernández Hernández <leohdz172@proton.me>
Date: Sun, 25 Aug 2024 11:33:54 -0600
fix crash when a client is created while all outputs are disabled
Diffstat:
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
@@ -12,6 +12,9 @@
### Deprecated
### Removed
### Fixed
+
+* Crash when a client is created while all outputs are disabled.
+
### Security
### Contributors
diff --git a/dwl.c b/dwl.c
@@ -803,8 +803,10 @@ commitnotify(struct wl_listener *listener, void *data)
* a wrong monitor.
*/
applyrules(c);
- wlr_surface_set_preferred_buffer_scale(client_surface(c), (int)ceilf(c->mon->wlr_output->scale));
- wlr_fractional_scale_v1_notify_scale(client_surface(c), c->mon->wlr_output->scale);
+ if (c->mon) {
+ wlr_surface_set_preferred_buffer_scale(client_surface(c), (int)ceilf(c->mon->wlr_output->scale));
+ wlr_fractional_scale_v1_notify_scale(client_surface(c), c->mon->wlr_output->scale);
+ }
setmon(c, NULL, 0); /* Make sure to reapply rules in mapnotify() */
wlr_xdg_toplevel_set_wm_capabilities(c->surface.xdg->toplevel, WLR_XDG_TOPLEVEL_WM_CAPABILITIES_FULLSCREEN);