Re-composite dialog after each event in modal loop
After WMHandleEvent processes a key press, the text field repaints into its backing image. The modal loop now re-composites the view tree and commits to the scene graph so changes are visible immediately.
This commit is contained in:
parent
df7f681c14
commit
01f2e4463e
|
|
@ -1172,6 +1172,16 @@ void WMRunModalLoop(WMScreen * scr, WMView * view)
|
|||
|
||||
WMNextEvent(scr, &event);
|
||||
WMHandleEvent(&event);
|
||||
|
||||
/* Wayland: re-composite and commit after each event */
|
||||
if (!scr->display) {
|
||||
const W_ViewBackend *vb = scr->viewBackend;
|
||||
W_View *top = view;
|
||||
while (top->parent && !top->flags.topLevel)
|
||||
top = top->parent;
|
||||
vb->redisplay(scr->viewBackendCtx, top);
|
||||
vb->map_subviews(scr->viewBackendCtx, top);
|
||||
}
|
||||
}
|
||||
|
||||
scr->modalView = oldModalView;
|
||||
|
|
|
|||
Loading…
Reference in New Issue