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,
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;