diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm index f0f1f56d90..5368b2f938 100644 --- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm +++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm @@ -228,6 +228,11 @@ void QCocoaNativeInterface::setWindowContentView(QPlatformWindow *window, void * void QCocoaNativeInterface::registerTouchWindow(QWindow *window, bool enable) { + // Make sure the QCocoaWindow is created when enabling. Disabling might + // happen on window destruction, don't (re)create the QCocoaWindow then. + if (enable) + window->create(); + QCocoaWindow *cocoaWindow = static_cast(window->handle()); if (cocoaWindow) cocoaWindow->registerTouch(enable);