diff --git a/meson.build b/meson.build index 82d2eab..b19b09b 100644 --- a/meson.build +++ b/meson.build @@ -53,7 +53,7 @@ if is_freebsd ) endif -wlroots = dependency('wlroots', version: ['>=0.13.0', '< 0.14.0']) +wlroots = dependency('wlroots', version: ['>=0.14.0', '< 0.15.0']) wayland_protos = dependency('wayland-protocols', version: '>=1.14') wayland_server = dependency('wayland-server') wayland_cursor = dependency('wayland-cursor') diff --git a/message.c b/message.c index acf1ffc..2ff2075 100644 --- a/message.c +++ b/message.c @@ -108,11 +108,17 @@ message_set_output(struct cg_output *output, const char *string, return; } message->message = create_message_texture(string, output); + if(!message->message) { + wlr_log(WLR_ERROR, "Could not create message texture"); + free(box); + free(message); + return; + } message->position = box; wl_list_insert(&output->messages, &message->link); - int width, height; - wlr_texture_get_size(message->message, &width, &height); + int width = message->message->width; + int height = message->message->height; message->position->width = width; message->position->height = height; switch(align) { diff --git a/view.c b/view.c index 410a746..19ae2ad 100644 --- a/view.c +++ b/view.c @@ -337,7 +337,13 @@ view_map(struct cg_view *view, struct wlr_surface *surface, view->wlr_surface = surface; struct wlr_subsurface *subsurface; - wl_list_for_each(subsurface, &view->wlr_surface->subsurfaces, parent_link) { + wl_list_for_each(subsurface, &view->wlr_surface->subsurfaces_above, + parent_link) { + subsurface_create(NULL, view, subsurface); + } + + wl_list_for_each(subsurface, &view->wlr_surface->subsurfaces_below, + parent_link) { subsurface_create(NULL, view, subsurface); }