How to force sync-render after menu is hidden?

  • My app uses the “underlay approach” described here; the app intercepts QQuickWindow::beforeSynchronizing and QQuickWindow::beforeRendering to draw “custom” OpenGL objects before QML-defined items are rendered. Thus the QML items are drawn after - i.e. “on top” of - the custom OpenGL.

    The QML defines a MenuBar with multiple menus and items (actions). The problem is that after I select a menu item, a blank space appears on the custom OpenGL object where the menu previously appeared. I.e. somehow I need to force another sync-render to happen after any menu goes away so that the custom OpenGL is rendered again. Does anyone know how I can do that? Thanks!