commit 7b1b5c75e9498cb21f9d71aee36c8021c5cb23d3
parent 7b320a195ca343f90f4da7687f06d5b1561d3f53
Author: Devin J. Pohly <djpohly@gmail.com>
Date: Sun, 27 Dec 2020 14:00:07 -0500
fix segfault in xwayland cursor manager
Diffstat:
| M | dwl.c | | | 14 | ++++++-------- |
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/dwl.c b/dwl.c
@@ -2148,13 +2148,11 @@ setup(void)
*/
xcursor_mgr = wlr_xcursor_manager_create(NULL, 24);
wlr_xcursor_manager_load(xcursor_mgr, 1);
- xcursor = wlr_xcursor_manager_get_xcursor(xcursor_mgr, "left_ptr", 1);
- if (xcursor) {
+ if ((xcursor = wlr_xcursor_manager_get_xcursor(xcursor_mgr, "left_ptr", 1)))
wlr_xwayland_set_cursor(xwayland,
xcursor->images[0]->buffer, xcursor->images[0]->width * 4,
xcursor->images[0]->width, xcursor->images[0]->height,
xcursor->images[0]->hotspot_x, xcursor->images[0]->hotspot_y);
- }
setenv("DISPLAY", xwayland->display_name, 1);
} else {
@@ -2532,11 +2530,11 @@ xwaylandready(struct wl_listener *listener, void *data)
wlr_xwayland_set_seat(xwayland, seat);
/* Set the default XWayland cursor to match the rest of dwl. */
- xcursor = wlr_xcursor_manager_get_xcursor(cursor_mgr, "left_ptr", 1);
- wlr_xwayland_set_cursor(xwayland,
- xcursor->images[0]->buffer, xcursor->images[0]->width * 4,
- xcursor->images[0]->width, xcursor->images[0]->height,
- xcursor->images[0]->hotspot_x, xcursor->images[0]->hotspot_y);
+ if ((xcursor = wlr_xcursor_manager_get_xcursor(cursor_mgr, "left_ptr", 1)))
+ wlr_xwayland_set_cursor(xwayland,
+ xcursor->images[0]->buffer, xcursor->images[0]->width * 4,
+ xcursor->images[0]->width, xcursor->images[0]->height,
+ xcursor->images[0]->hotspot_x, xcursor->images[0]->hotspot_y);
xcb_disconnect(xc);
}