mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
quirks: remove subsurface unmap quirk for Sway
Sway used to have an issue where unmapping a subsurface did not damage the surface below (https://github.com/swaywm/sway/issues/6960). This has been fixed for quite some time now, so let's remove the quirk.
This commit is contained in:
parent
eeaecba723
commit
7347f4beb1
5 changed files with 8 additions and 26 deletions
|
|
@ -123,6 +123,11 @@
|
||||||
|
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
|
* Subsurface unmap quirk for Sway. This was a workaround added in
|
||||||
|
1.12.1, for Sway issue [#6960][sway-6960].
|
||||||
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
* `REP`: wrong width of repeated multi-codepoint graphemes.
|
* `REP`: wrong width of repeated multi-codepoint graphemes.
|
||||||
|
|
|
||||||
12
quirks.c
12
quirks.c
|
|
@ -67,6 +67,7 @@ quirk_weston_csd_off(struct terminal *term)
|
||||||
quirk_weston_subsurface_desync_off(term->window->csd.surface[i].sub);
|
quirk_weston_subsurface_desync_off(term->window->csd.surface[i].sub);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
static bool
|
static bool
|
||||||
is_sway(void)
|
is_sway(void)
|
||||||
{
|
{
|
||||||
|
|
@ -82,13 +83,4 @@ is_sway(void)
|
||||||
|
|
||||||
return is_sway;
|
return is_sway;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
void
|
|
||||||
quirk_sway_subsurface_unmap(struct terminal *term)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
if (!is_sway())
|
|
||||||
return;
|
|
||||||
|
|
||||||
wl_surface_damage_buffer(term->window->surface.surf, 0, 0, INT32_MAX, INT32_MAX);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
2
quirks.h
2
quirks.h
|
|
@ -21,5 +21,3 @@ void quirk_weston_subsurface_desync_off(struct wl_subsurface *sub);
|
||||||
/* Shortcuts to call desync_{on,off} on all CSD subsurfaces */
|
/* Shortcuts to call desync_{on,off} on all CSD subsurfaces */
|
||||||
void quirk_weston_csd_on(struct terminal *term);
|
void quirk_weston_csd_on(struct terminal *term);
|
||||||
void quirk_weston_csd_off(struct terminal *term);
|
void quirk_weston_csd_off(struct terminal *term);
|
||||||
|
|
||||||
void quirk_sway_subsurface_unmap(struct terminal *term);
|
|
||||||
|
|
|
||||||
11
render.c
11
render.c
|
|
@ -1970,10 +1970,6 @@ render_overlay(struct terminal *term)
|
||||||
wl_surface_commit(overlay->surface.surf);
|
wl_surface_commit(overlay->surface.surf);
|
||||||
term->render.last_overlay_style = OVERLAY_NONE;
|
term->render.last_overlay_style = OVERLAY_NONE;
|
||||||
term->render.last_overlay_buf = NULL;
|
term->render.last_overlay_buf = NULL;
|
||||||
|
|
||||||
/* Work around Sway bug - unmapping a sub-surface does not
|
|
||||||
* damage the underlying surface */
|
|
||||||
quirk_sway_subsurface_unmap(term);
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -2919,13 +2915,8 @@ render_scrollback_position(struct terminal *term)
|
||||||
struct wl_window *win = term->window;
|
struct wl_window *win = term->window;
|
||||||
|
|
||||||
if (term->grid->view == term->grid->offset) {
|
if (term->grid->view == term->grid->offset) {
|
||||||
if (win->scrollback_indicator.surface.surf != NULL) {
|
if (win->scrollback_indicator.surface.surf != NULL)
|
||||||
wayl_win_subsurface_destroy(&win->scrollback_indicator);
|
wayl_win_subsurface_destroy(&win->scrollback_indicator);
|
||||||
|
|
||||||
/* Work around Sway bug - unmapping a sub-surface does not damage
|
|
||||||
* the underlying surface */
|
|
||||||
quirk_sway_subsurface_unmap(term);
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -820,10 +820,6 @@ urls_reset(struct terminal *term)
|
||||||
tll_foreach(term->window->urls, it) {
|
tll_foreach(term->window->urls, it) {
|
||||||
wayl_win_subsurface_destroy(&it->item.surf);
|
wayl_win_subsurface_destroy(&it->item.surf);
|
||||||
tll_remove(term->window->urls, it);
|
tll_remove(term->window->urls, it);
|
||||||
|
|
||||||
/* Work around Sway bug - unmapping a sub-surface does not
|
|
||||||
* damage the underlying surface */
|
|
||||||
quirk_sway_subsurface_unmap(term);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue