aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill Primak <vyivel@eclair.cafe>2022-09-14 14:26:22 +0300
committerSimon Ser <contact@emersion.fr>2023-04-14 16:59:55 +0200
commit49435cb27b05c141a29f819fec2faa275ce90b3d (patch)
treea9005f471b2d9a26277909b3a3edd354055eec5c
parent40dde59475bef1eaa7ac70786b700fb3549bb366 (diff)
subcompositor: simplify get_subsurface handler
-rw-r--r--types/wlr_subcompositor.c26
1 files changed, 4 insertions, 22 deletions
diff --git a/types/wlr_subcompositor.c b/types/wlr_subcompositor.c
index fe7ea877..29e7d2af 100644
--- a/types/wlr_subcompositor.c
+++ b/types/wlr_subcompositor.c
@@ -422,34 +422,16 @@ static void subcompositor_handle_get_subsurface(struct wl_client *client,
struct wlr_surface *surface = wlr_surface_from_resource(surface_resource);
struct wlr_surface *parent = wlr_surface_from_resource(parent_resource);
- static const char msg[] = "get_subsurface: wl_subsurface@";
-
- if (surface == parent) {
- wl_resource_post_error(resource,
- WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE,
- "%s%" PRIu32 ": wl_surface@%" PRIu32 " cannot be its own parent",
- msg, id, wl_resource_get_id(surface_resource));
- return;
- }
-
- if (wlr_subsurface_try_from_wlr_surface(surface) != NULL) {
- wl_resource_post_error(resource,
- WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE,
- "%s%" PRIu32 ": wl_surface@%" PRIu32 " is already a sub-surface",
- msg, id, wl_resource_get_id(surface_resource));
+ if (!wlr_surface_set_role(surface, &subsurface_role, NULL,
+ resource, WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE)) {
return;
}
if (wlr_surface_get_root_surface(parent) == surface) {
wl_resource_post_error(resource,
WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE,
- "%s%" PRIu32 ": wl_surface@%" PRIu32 " is an ancestor of parent",
- msg, id, wl_resource_get_id(surface_resource));
- return;
- }
-
- if (!wlr_surface_set_role(surface, &subsurface_role, NULL,
- resource, WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE)) {
+ "wl_subsurface@%" PRIu32
+ " cannot be a parent of itself or its ancestor", id);
return;
}