diff options
author | Genki Sky <sky@genki.is> | 2018-05-30 20:11:58 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-05-30 20:21:19 -0400 |
commit | 32013abae63f1c31598ac716acd7e73c24fadae1 (patch) | |
tree | c39f15182eeae7a5d0808f05d5f095d2049fe7de /backend/drm | |
parent | d1cf9acbd5ab6735952d013e5eb685e7139094a7 (diff) |
rootston: xdg-shell*: Fix get_size() for newly-mapped views
The user-visible issue is that newly-mapped xdg-shell* windows would
sometimes start with their top-left-corner, rather than their center, in
the center of the screen. This is because get_size() would
conservatively fall back on (width, height) == (0, 0) if both
set_window_geometry() had not been called, and it found
view->wlr_surface to be NULL.
But, view->wlr_surface is only set to non-NULL in view_map(). We call
get_size() before this. Fortunately, the wlr_surface in question is
accessible via view->xdg_shell{,_v6}->surface, so always fall back on
that. We can assert its presence instead of further falling back on
(width, height) == (0, 0).
Signed-off-by: Genki Sky <sky@genki.is>
Diffstat (limited to 'backend/drm')
0 files changed, 0 insertions, 0 deletions