shell: do not apply damage on window type set
Setting a window type is a non-visual operation, it is not supposed to affect the rendering immediately. Therefore it does not need to apply surface damage. The proper surface damage is applied on an attach request following a window type change. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
This commit is contained in:
parent
f8c6aae688
commit
8980f7c7d8
|
@ -383,7 +383,6 @@ shell_surface_set_toplevel(struct wl_client *client,
|
|||
if (reset_shell_surface_type(surface))
|
||||
return;
|
||||
|
||||
weston_surface_damage(surface->surface);
|
||||
surface->type = SHELL_SURFACE_TOPLEVEL;
|
||||
}
|
||||
|
||||
|
@ -408,7 +407,6 @@ shell_surface_set_transient(struct wl_client *client,
|
|||
es->geometry.y = pes->geometry.y + y;
|
||||
es->geometry.dirty = 1;
|
||||
|
||||
weston_surface_damage(es);
|
||||
shsurf->type = SHELL_SURFACE_TRANSIENT;
|
||||
}
|
||||
|
||||
|
@ -442,7 +440,6 @@ shell_surface_set_fullscreen(struct wl_client *client,
|
|||
es->geometry.y = (output->current->height - es->geometry.height) / 2;
|
||||
es->geometry.dirty = 1;
|
||||
es->fullscreen_output = output;
|
||||
weston_surface_damage(es);
|
||||
shsurf->type = SHELL_SURFACE_FULLSCREEN;
|
||||
}
|
||||
|
||||
|
@ -557,9 +554,7 @@ shell_surface_set_popup(struct wl_client *client,
|
|||
int32_t x, int32_t y, uint32_t flags)
|
||||
{
|
||||
struct shell_surface *shsurf = resource->data;
|
||||
struct weston_surface *es = shsurf->surface;
|
||||
|
||||
weston_surface_damage(es);
|
||||
shsurf->type = SHELL_SURFACE_POPUP;
|
||||
shsurf->parent = parent_resource->data;
|
||||
shsurf->popup.x = x;
|
||||
|
|
Loading…
Reference in New Issue