Fix segfault when title or app_id is NULL
Some checks failed
Continuous integration build / compile (clang, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / format (push) Has been cancelled
Continuous integration build / scan-build (push) Has been cancelled

This commit is contained in:
Yuxuan Shui 2025-12-17 03:53:01 +00:00 committed by Simon Ser
parent ea2069f427
commit cb8582c056
2 changed files with 12 additions and 5 deletions

View file

@ -225,8 +225,12 @@ handle_xdg_toplevel_map(struct wl_listener *listener, void *data)
view_map(view, xdg_shell_view->xdg_toplevel->base->surface);
wlr_foreign_toplevel_handle_v1_set_title(view->foreign_toplevel_handle, xdg_shell_view->xdg_toplevel->title);
wlr_foreign_toplevel_handle_v1_set_app_id(view->foreign_toplevel_handle, xdg_shell_view->xdg_toplevel->app_id);
if (xdg_shell_view->xdg_toplevel->title)
wlr_foreign_toplevel_handle_v1_set_title(view->foreign_toplevel_handle,
xdg_shell_view->xdg_toplevel->title);
if (xdg_shell_view->xdg_toplevel->app_id)
wlr_foreign_toplevel_handle_v1_set_app_id(view->foreign_toplevel_handle,
xdg_shell_view->xdg_toplevel->app_id);
/* Activation state will be set by seat_set_focus */
}

View file

@ -142,9 +142,12 @@ handle_xwayland_surface_map(struct wl_listener *listener, void *data)
view_map(view, xwayland_view->xwayland_surface->surface);
wlr_foreign_toplevel_handle_v1_set_title(view->foreign_toplevel_handle, xwayland_view->xwayland_surface->title);
wlr_foreign_toplevel_handle_v1_set_app_id(view->foreign_toplevel_handle,
xwayland_view->xwayland_surface->class);
if (xwayland_view->xwayland_surface->title)
wlr_foreign_toplevel_handle_v1_set_title(view->foreign_toplevel_handle,
xwayland_view->xwayland_surface->title);
if (xwayland_view->xwayland_surface->class)
wlr_foreign_toplevel_handle_v1_set_app_id(view->foreign_toplevel_handle,
xwayland_view->xwayland_surface->class);
}
static void