diff options
-rw-r--r-- | include/wlr/xwayland.h | 14 | ||||
-rw-r--r-- | render/gles2/renderer.c | 4 | ||||
-rw-r--r-- | rootston/desktop.c | 8 | ||||
-rw-r--r-- | types/wlr_layer_shell.c | 5 | ||||
-rw-r--r-- | xwayland/xwm.c | 1 |
5 files changed, 19 insertions, 13 deletions
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h index 1ee310ea..9b9d9cf9 100644 --- a/include/wlr/xwayland.h +++ b/include/wlr/xwayland.h @@ -166,21 +166,23 @@ void wlr_xwayland_set_cursor(struct wlr_xwayland *wlr_xwayland, int32_t hotspot_x, int32_t hotspot_y); void wlr_xwayland_surface_activate(struct wlr_xwayland_surface *surface, - bool activated); + bool activated); void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *surface, - int16_t x, int16_t y, uint16_t width, uint16_t height); + int16_t x, int16_t y, uint16_t width, uint16_t height); void wlr_xwayland_surface_close(struct wlr_xwayland_surface *surface); void wlr_xwayland_surface_set_maximized(struct wlr_xwayland_surface *surface, - bool maximized); + bool maximized); void wlr_xwayland_surface_set_fullscreen(struct wlr_xwayland_surface *surface, - bool fullscreen); + bool fullscreen); void wlr_xwayland_set_seat(struct wlr_xwayland *xwayland, - struct wlr_seat *seat); + struct wlr_seat *seat); + +bool wlr_xwayland_surface_is_unmanaged( + const struct wlr_xwayland_surface *surface); -bool wlr_xwayland_surface_is_unmanaged(const struct wlr_xwayland_surface *surface); #endif diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c index 8f3ce7f7..c8094847 100644 --- a/render/gles2/renderer.c +++ b/render/gles2/renderer.c @@ -322,11 +322,11 @@ static log_importance_t gles2_log_importance_to_wlr(GLenum type) { case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: return L_ERROR; case GL_DEBUG_TYPE_PORTABILITY_KHR: return L_DEBUG; case GL_DEBUG_TYPE_PERFORMANCE_KHR: return L_DEBUG; - case GL_DEBUG_TYPE_OTHER_KHR: return L_INFO; + case GL_DEBUG_TYPE_OTHER_KHR: return L_DEBUG; case GL_DEBUG_TYPE_MARKER_KHR: return L_DEBUG; case GL_DEBUG_TYPE_PUSH_GROUP_KHR: return L_DEBUG; case GL_DEBUG_TYPE_POP_GROUP_KHR: return L_DEBUG; - default: return L_INFO; + default: return L_DEBUG; } } diff --git a/rootston/desktop.c b/rootston/desktop.c index 1d2e9549..ab16ed3d 100644 --- a/rootston/desktop.c +++ b/rootston/desktop.c @@ -682,9 +682,11 @@ struct wlr_surface *desktop_surface_at(struct roots_desktop *desktop, struct wlr_surface *surface = NULL; struct wlr_output *wlr_output = wlr_output_layout_output_at(desktop->layout, lx, ly); - struct roots_output *roots_output; + struct roots_output *roots_output = NULL; double ox = lx, oy = ly; - *view = NULL; + if (view) { + *view = NULL; + } if (wlr_output) { roots_output = wlr_output->data; @@ -834,7 +836,7 @@ struct roots_desktop *desktop_create(struct roots_server *server, if (xcursor != NULL) { struct wlr_xcursor_image *image = xcursor->images[0]; wlr_xwayland_set_cursor(desktop->xwayland, image->buffer, - image->width, image->width, image->height, image->hotspot_x, + image->width * 4, image->width, image->height, image->hotspot_x, image->hotspot_y); } } diff --git a/types/wlr_layer_shell.c b/types/wlr_layer_shell.c index cbf21f4a..b81fb4c6 100644 --- a/types/wlr_layer_shell.c +++ b/types/wlr_layer_shell.c @@ -353,10 +353,13 @@ static const struct zwlr_layer_shell_v1_interface layer_shell_implementation = { }; static void client_handle_destroy(struct wl_resource *resource) { + struct wl_client *client = wl_resource_get_client(resource); struct wlr_layer_shell *shell = layer_shell_from_resource(resource); struct wlr_layer_surface *surface, *tmp = NULL; wl_list_for_each_safe(surface, tmp, &shell->surfaces, link) { - layer_surface_destroy(surface); + if (wl_resource_get_client(surface->resource) == client) { + layer_surface_destroy(surface); + } } wl_list_remove(wl_resource_get_link(resource)); } diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 2743cc53..6702c3c9 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -1378,7 +1378,6 @@ void xwm_set_cursor(struct wlr_xwm *xwm, const uint8_t *pixels, uint32_t stride, xcb_free_cursor(xwm->xcb_conn, xwm->cursor); } - stride *= 4; int depth = 32; xcb_pixmap_t pix = xcb_generate_id(xwm->xcb_conn); |