Fix incorrect damage being applied on popups
To reproduce: - Open a floating window and a popup that hangs over the bottom or right - Move the window in the direction of the popup overhang - The previous position of the popup is damaged, not the new one
This commit is contained in:
parent
b4950e2a6d
commit
f58f054c87
|
@ -258,6 +258,13 @@ static void apply_container_state(struct sway_container *container,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the view hasn't responded to the configure, center it within
|
||||||
|
// the container. This is important for fullscreen views which
|
||||||
|
// refuse to resize to the size of the output.
|
||||||
|
if (view && view->surface) {
|
||||||
|
view_center_surface(view);
|
||||||
|
}
|
||||||
|
|
||||||
// Damage the new location
|
// Damage the new location
|
||||||
desktop_damage_whole_container(container);
|
desktop_damage_whole_container(container);
|
||||||
if (view && view->surface) {
|
if (view && view->surface) {
|
||||||
|
@ -271,13 +278,6 @@ static void apply_container_state(struct sway_container *container,
|
||||||
desktop_damage_box(&box);
|
desktop_damage_box(&box);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the view hasn't responded to the configure, center it within
|
|
||||||
// the container. This is important for fullscreen views which
|
|
||||||
// refuse to resize to the size of the output.
|
|
||||||
if (view && view->surface) {
|
|
||||||
view_center_surface(view);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!container->node.destroying) {
|
if (!container->node.destroying) {
|
||||||
container_discover_outputs(container);
|
container_discover_outputs(container);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue