mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
render: resize: finalize selection before reflowing the grid
This fixes a crash caused by the selection’s pivot point not being translated during reflow. While we could simply reflow the pivot point as well, testing shows irregular behavior with ongoing selections across window resizes, with different compositors behaving differently. For now, we simply finalize the selection, instead of trying to handle ongoing selections. Closes #922
This commit is contained in:
parent
b4027118e6
commit
a187271ca4
1 changed files with 10 additions and 0 deletions
10
render.c
10
render.c
|
|
@ -3681,6 +3681,16 @@ maybe_resize(struct terminal *term, int width, int height, bool force)
|
|||
|
||||
if (term->grid == &term->alt)
|
||||
selection_cancel(term);
|
||||
else {
|
||||
/*
|
||||
* Don’t cancel, but make sure there aren’t any ongoing
|
||||
* selections after the resize.
|
||||
*/
|
||||
tll_foreach(term->wl->seats, it) {
|
||||
if (it->item.kbd_focus == term)
|
||||
selection_finalize(&it->item, term, it->item.pointer.serial);
|
||||
}
|
||||
}
|
||||
|
||||
struct coord *const tracking_points[] = {
|
||||
&term->selection.start,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue