|
|
@ -2261,6 +2261,12 @@ weston_view_unmap(struct weston_view *view) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WL_EXPORT void |
|
|
|
|
|
|
|
weston_surface_map(struct weston_surface *surface) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
surface->is_mapped = true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
WL_EXPORT void |
|
|
|
WL_EXPORT void |
|
|
|
weston_surface_unmap(struct weston_surface *surface) |
|
|
|
weston_surface_unmap(struct weston_surface *surface) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -4529,23 +4535,22 @@ subsurface_committed(struct weston_surface *surface, int32_t dx, int32_t dy) |
|
|
|
* mapped, parent is not in a visible layer, so this sub-surface |
|
|
|
* mapped, parent is not in a visible layer, so this sub-surface |
|
|
|
* will not be drawn either. |
|
|
|
* will not be drawn either. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
|
|
|
|
if (!weston_surface_is_mapped(surface) && |
|
|
|
|
|
|
|
weston_surface_has_content(surface)) { |
|
|
|
|
|
|
|
weston_surface_map(surface); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!weston_surface_is_mapped(surface)) { |
|
|
|
/* Cannot call weston_view_update_transform() here, because that would
|
|
|
|
surface->is_mapped = weston_surface_has_content(surface); |
|
|
|
* call it also for the parent surface, which might not be mapped yet. |
|
|
|
|
|
|
|
* That would lead to inconsistent state, where the window could never |
|
|
|
/* Cannot call weston_view_update_transform(),
|
|
|
|
* be mapped. |
|
|
|
* because that would call it also for the parent surface, |
|
|
|
|
|
|
|
* which might not be mapped yet. That would lead to |
|
|
|
|
|
|
|
* inconsistent state, where the window could never be |
|
|
|
|
|
|
|
* mapped. |
|
|
|
|
|
|
|
* |
|
|
|
* |
|
|
|
* Instead just force the is_mapped flag on, to make |
|
|
|
* Instead just force the child surface to appear mapped, to make |
|
|
|
* weston_surface_is_mapped() return true, so that when the |
|
|
|
* weston_surface_is_mapped() return true, so that when the parent |
|
|
|
* parent surface does get mapped, this one will get |
|
|
|
* surface does get mapped, this one will get included, too. See |
|
|
|
* included, too. See view_list_add(). |
|
|
|
* view_list_add(). |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static struct weston_subsurface * |
|
|
|
static struct weston_subsurface * |
|
|
|
weston_surface_to_subsurface(struct weston_surface *surface) |
|
|
|
weston_surface_to_subsurface(struct weston_surface *surface) |
|
|
|