if the assigned output is slave, change the assigned output to
associated master output

Signed-off-by: Xiong Zhang <xiong.y.zh...@intel.com>
---
 desktop-shell/shell.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 2bc1856..0edefbd 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -2372,8 +2372,11 @@ shell_surface_set_fullscreen(struct wl_client *client,
        struct shell_surface *shsurf = wl_resource_get_user_data(resource);
        struct weston_output *output;
 
-       if (output_resource)
+       if (output_resource) {
                output = wl_resource_get_user_data(output_resource);
+               if (output->is_slave)
+                       output = output->master_output;
+       }
        else
                output = NULL;
 
@@ -2477,9 +2480,11 @@ shell_surface_set_maximized(struct wl_client *client,
        struct shell_surface *shsurf = wl_resource_get_user_data(resource);
        struct weston_output *output;
 
-       if (output_resource)
+       if (output_resource) {
                output = wl_resource_get_user_data(output_resource);
-       else
+               if (output->is_slave)
+                       output = output->master_output;
+       } else
                output = NULL;
 
        shell_surface_set_parent(shsurf, NULL);
-- 
1.8.3.2

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

Reply via email to