Fix regression: only trigger redisplay on map for top-level views

wl_map was calling wl_redisplay on every view map, including internal
widgets during startup. This caused crashes when non-dialog views
received expose events before being fully set up.
This commit is contained in:
Levi Neely 2026-05-13 21:24:07 +02:00
parent 3a0ca5444e
commit 305b8096da
1 changed files with 2 additions and 1 deletions

View File

@ -139,7 +139,8 @@ static void wl_map(void *vctx, W_View *view)
(void)vctx;
/* Set mapped early so redisplay doesn't bail out */
view->flags.mapped = 1;
if (view->flags.realized)
/* Only trigger redisplay for top-level views (dialogs) */
if (view->flags.topLevel && view->flags.realized)
wl_redisplay(vctx, view);
}