From 45ba869ff3bbfd96ccdf1fb1f26fbf5d37943381 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 21 May 2012 14:27:33 -0400 Subject: [PATCH] shell: Make create_shell_surface() just return the shsurf --- src/compositor.h | 6 +++--- src/shell.c | 13 ++++++------- src/xserver-launcher.c | 5 +++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/compositor.h b/src/compositor.h index 32bccd2..7af423d 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -58,9 +58,9 @@ struct weston_mode { struct weston_shell_interface { void *shell; /* either desktop or tablet */ - void (*create_shell_surface)(void *shell, - struct weston_surface *surface, - struct shell_surface **ret); + struct shell_surface *(*create_shell_surface)(void *shell, + struct weston_surface *surface); + void (*set_toplevel)(struct shell_surface *shsurf); void (*set_transient)(struct shell_surface *shsurf, diff --git a/src/shell.c b/src/shell.c index e23600d..d026fda 100644 --- a/src/shell.c +++ b/src/shell.c @@ -1246,21 +1246,20 @@ get_shell_surface(struct weston_surface *surface) static void shell_surface_configure(struct weston_surface *, int32_t, int32_t); -static void -create_shell_surface(void *shell, struct weston_surface *surface, - struct shell_surface **ret) +static struct shell_surface * +create_shell_surface(void *shell, struct weston_surface *surface) { struct shell_surface *shsurf; if (surface->configure) { fprintf(stderr, "surface->configure already set\n"); - return; + return NULL; } shsurf = calloc(1, sizeof *shsurf); if (!shsurf) { fprintf(stderr, "no memory to allocate shell surface\n"); - return; + return NULL; } surface->configure = shell_surface_configure; @@ -1295,7 +1294,7 @@ create_shell_surface(void *shell, struct weston_surface *surface, shsurf->type = SHELL_SURFACE_NONE; shsurf->next_type = SHELL_SURFACE_NONE; - *ret = shsurf; + return shsurf; } static void @@ -1315,7 +1314,7 @@ shell_get_shell_surface(struct wl_client *client, return; } - create_shell_surface(shell, surface, &shsurf); + shsurf = create_shell_surface(shell, surface); if (!shsurf) { wl_resource_post_error(surface_resource, WL_DISPLAY_ERROR_INVALID_OBJECT, diff --git a/src/xserver-launcher.c b/src/xserver-launcher.c index c57112b..bd162b6 100644 --- a/src/xserver-launcher.c +++ b/src/xserver-launcher.c @@ -1957,8 +1957,9 @@ xserver_map_shell_surface(struct weston_wm *wm, if (!shell_interface->create_shell_surface) return; - shell_interface->create_shell_surface(shell_interface->shell, - window->surface, &window->shsurf); + window->shsurf = + shell_interface->create_shell_surface(shell_interface->shell, + window->surface); if (!window->transient_for) { shell_interface->set_toplevel(window->shsurf); -- 2.7.4