summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2014-01-02 01:33:42 -0800
committerKristian Høgsberg <krh@bitplanet.net>2014-01-02 01:33:42 -0800
commit0e45e8712a8a9f5f555802a1ed494d7cbe183e10 (patch)
treef9e905977528622a8b0d3f20d193ade7f93af69e
parent2eebcd34fc954fa5b5b6ae0a753fe250da78302c (diff)
shell: Start the input panel slide slightly on the output
If a surface is not on any output, scheduling a repaint for it is a no-op. weston_view_schedule_repaint() schedules repaints for all outputs that overlap with the surface extents, but if the surface is completely outside all outputs nothing will be scheduled. Fix this for now by starting the slide slightly into the output.
-rw-r--r--desktop-shell/input-panel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/desktop-shell/input-panel.c b/desktop-shell/input-panel.c
index 8fd25b0e..bb5802ac 100644
--- a/desktop-shell/input-panel.c
+++ b/desktop-shell/input-panel.c
@@ -75,7 +75,7 @@ show_input_panels(struct wl_listener *listener, void *data)
weston_view_geometry_dirty(ipsurf->view);
weston_view_update_transform(ipsurf->view);
weston_surface_damage(ipsurf->surface);
- weston_slide_run(ipsurf->view, ipsurf->surface->height,
+ weston_slide_run(ipsurf->view, ipsurf->surface->height * 0.9,
0, NULL, NULL);
}
}
@@ -138,7 +138,7 @@ input_panel_configure(struct weston_surface *surface, int32_t sx, int32_t sy)
&ip_surface->view->layer_link);
weston_view_update_transform(ip_surface->view);
weston_surface_damage(surface);
- weston_slide_run(ip_surface->view, ip_surface->view->surface->height, 0, NULL, NULL);
+ weston_slide_run(ip_surface->view, ip_surface->view->surface->height * 0.9, 0, NULL, NULL);
}
}