From: Philip Withnall <philip.withn...@collabora.co.uk>

---
 src/shell.c | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/src/shell.c b/src/shell.c
index 17a64ae..15895e2 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -2031,6 +2031,22 @@ get_output_panel_height(struct desktop_shell *shell,
 }
 
 static void
+shell_surface_set_output(struct shell_surface *shsurf,
+                         struct weston_output *output)
+{
+       struct weston_surface *es = shsurf->surface;
+
+       /* get the default output, if the client set it as NULL
+          check whether the ouput is available */
+       if (output)
+               shsurf->output = output;
+       else if (es->output)
+               shsurf->output = es->output;
+       else
+               shsurf->output = get_default_output(es->compositor);
+}
+
+static void
 set_toplevel(struct shell_surface *shsurf)
 {
        shsurf->next_type = SHELL_SURFACE_TOPLEVEL;
@@ -2076,14 +2092,7 @@ set_fullscreen(struct shell_surface *shsurf,
               uint32_t framerate,
               struct weston_output *output)
 {
-       struct weston_surface *es = shsurf->surface;
-
-       if (output)
-               shsurf->output = output;
-       else if (es->output)
-               shsurf->output = es->output;
-       else
-               shsurf->output = get_default_output(es->compositor);
+       shell_surface_set_output(shsurf, output);
 
        shsurf->fullscreen_output = shsurf->output;
        shsurf->fullscreen.type = method;
@@ -2181,16 +2190,8 @@ set_maximized(struct shell_surface *shsurf,
 {
        struct desktop_shell *shell;
        uint32_t edges = 0, panel_height = 0;
-       struct weston_surface *es = shsurf->surface;
 
-       /* get the default output, if the client set it as NULL
-          check whether the ouput is available */
-       if (output)
-               shsurf->output = output;
-       else if (es->output)
-               shsurf->output = es->output;
-       else
-               shsurf->output = get_default_output(es->compositor);
+       shell_surface_set_output(shsurf, output);
 
        shell = shell_surface_get_shell(shsurf);
        panel_height = get_output_panel_height(shell, shsurf->output);
-- 
1.8.3.1

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to