The fix for
QTBUG-44313 introduced clearing QCocoaWindow::m_backingStore when QCocoaWindow::m_platformWindow->m_inSetGeometry is true. Leaving the backing store null causes a subsequent paint operation to abort, leaving the dialog momentarily undrawn (transparent).
This line is causing the dialog to momentarily disappear from the screen:
That's happening because of this line deeper in the callstack:
Recommended Fix - DEPRECATED, SEE COMMENTS FOR REVISED FIX
I've applied this locally on top of Qt 5.4.2 with great success. Instead of clearing the backing store, do the following:
That creates a new backing store at the correct new size and then forces the widget to synchronously draw at that size to fill the new backing store with correct visuals.