static E_Desktop_Xdg_Toplevel_V6 *
_toplevel_from_shell_surface_resource(struct wl_resource *shsurface_resource)
{
+ struct ds_xdg_surface_v6 *ds_xdg_surface = ds_xdg_surface_v6_from_resource(shsurface_resource);
E_Desktop_Xdg_Toplevel_V6 *toplevel;
- struct ds_xdg_surface_v6 *ds_xdg_surface;
struct wl_listener *listener;
- ds_xdg_surface = ds_xdg_surface_v6_from_resource(shsurface_resource);
- if (!ds_xdg_surface)
- return NULL;
-
listener = wl_signal_get(&ds_xdg_surface->events.destroy,
_toplevel_cb_xdg_surface_destroy);
- if (listener)
- return wl_container_of(listener, toplevel, destroy);
- return NULL;
+ return wl_container_of(listener, toplevel, destroy);
}
static void