summaryrefslogtreecommitdiff
path: root/desktop-shell
diff options
context:
space:
mode:
authorDerek Foreman <derek.foreman@collabora.com>2022-11-08 16:09:05 -0600
committerDerek Foreman <derek.foreman@collabora.com>2022-11-14 16:05:46 -0600
commitd611ab24fd0004fb1a06fe2fc843251419fac784 (patch)
treebd026019794bb441d2700fe632bac5560992a13a /desktop-shell
parentd3b74daabd8fa8f6410eabc4643895da11600409 (diff)
downloadweston-d611ab24fd0004fb1a06fe2fc843251419fac784.tar.gz
libweston: Update view transforms more often
These places all eventually lead to calling weston_view_to_global_float() or weston_view_from_global_float() on a view with a dirty transform. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
Diffstat (limited to 'desktop-shell')
-rw-r--r--desktop-shell/shell.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index e9f74087..d6d307b7 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -2101,6 +2101,8 @@ desktop_surface_committed(struct weston_desktop_surface *desktop_surface,
}
}
+ weston_view_update_transform(shsurf->view);
+
if (shsurf->state.fullscreen) {
shell_configure_fullscreen(shsurf);
} else if (shsurf->state.maximized) {
@@ -2614,6 +2616,11 @@ panel_committed(struct weston_surface *es, int32_t sx, int32_t sy)
view = container_of(es->views.next, struct weston_view, surface_link);
+ /* XXX delete me eventually - it would be better if we didn't get here
+ * with a dirty transform at all, but for now just make sure the
+ * transform is updated here. */
+ weston_view_update_transform(view);
+
get_panel_size(shell, view, &width, &height);
switch (shell->panel_position) {
case WESTON_DESKTOP_SHELL_PANEL_POSITION_TOP: