shell: Add the ability to dynamically move application window
[src/agl-compositor.git] / src / layout.c
index a5e3b36..ea293ca 100644 (file)
@@ -430,8 +430,10 @@ ivi_layout_add_to_hidden_layer(struct ivi_surface *surf,
        if (surf->hidden_layer_output &&
            surf->hidden_layer_output != ivi_output) {
                weston_layer_entry_remove(&ev->layer_link);
+               weston_view_geometry_dirty(ev);
+               weston_surface_damage(ev->surface);
 
-               if (ivi_output->area.width != surf->hidden_layer_output->area.width &&
+               if (ivi_output->area.width != surf->hidden_layer_output->area.width ||
                    ivi_output->area.height != surf->hidden_layer_output->area.height) {
                        weston_desktop_surface_set_maximized(dsurf, true);
                        weston_desktop_surface_set_size(dsurf,
@@ -1114,7 +1116,8 @@ ivi_layout_deactivate(struct ivi_compositor *ivi, const char *app_id)
        weston_log("Deactiving %s, role %s\n", app_id,
                        ivi_layout_get_surface_role_name(surf));
 
-       if (surf->role == IVI_SURFACE_ROLE_DESKTOP) {
+       if (surf->role == IVI_SURFACE_ROLE_DESKTOP ||
+           surf->role == IVI_SURFACE_ROLE_REMOTE) {
                struct ivi_surface *previous_active;
 
                previous_active = ivi_output->previous_active;