mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-31 07:11:09 -04:00
term: term_init() calls wl_display_roundtrip()
Instead of having `wayl_win_init()` call `wl_display_roundtrip()` (which it itself doesn't need), call it from `term_init()`. This allows us to add ourselves (the new terminal instance) to the terminal list in the wayland backend, before triggering the wayland events caused by `wayl_win_init()`. This is turn allows the wayland backend to find/lookup the new terminal when those events occur..
This commit is contained in:
parent
4451f4ad62
commit
913c684844
2 changed files with 6 additions and 3 deletions
|
|
@ -657,6 +657,12 @@ term_init(const struct config *conf, struct fdm *fdm, struct wayland *wayl,
|
||||||
if ((term->window = wayl_win_init(wayl)) == NULL)
|
if ((term->window = wayl_win_init(wayl)) == NULL)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
/* Let the Wayland backend know we exist */
|
||||||
|
tll_push_back(wayl->terms, term);
|
||||||
|
|
||||||
|
/* Roundtrip to ensure the wayland window have been configured */
|
||||||
|
wl_display_roundtrip(term->wl->display);
|
||||||
|
|
||||||
term_set_window_title(term, "foot");
|
term_set_window_title(term, "foot");
|
||||||
|
|
||||||
/* Try to use user-configured window dimentions */
|
/* Try to use user-configured window dimentions */
|
||||||
|
|
@ -675,7 +681,6 @@ term_init(const struct config *conf, struct fdm *fdm, struct wayland *wayl,
|
||||||
height = max(height, term->cell_height);
|
height = max(height, term->cell_height);
|
||||||
render_resize(term, width, height);
|
render_resize(term, width, height);
|
||||||
|
|
||||||
tll_push_back(wayl->terms, term);
|
|
||||||
return term;
|
return term;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
|
|
||||||
|
|
@ -804,8 +804,6 @@ wayl_win_init(struct wayland *wayl)
|
||||||
wl_subsurface_set_desync(win->search_sub_surface);
|
wl_subsurface_set_desync(win->search_sub_surface);
|
||||||
|
|
||||||
wl_surface_commit(win->surface);
|
wl_surface_commit(win->surface);
|
||||||
wl_display_roundtrip(wayl->display);
|
|
||||||
|
|
||||||
return win;
|
return win;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue