PDFM-86032 QTBUG-65504 No autorelease pool block for event loop iteration --- a/qtbase/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm +++ b/qtbase/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm @@ -121,6 +121,7 @@ static Boolean runLoopSourceEqualCallback(const void *info1, const void *info2) void QCocoaEventDispatcherPrivate::activateTimersSourceCallback(void *info) { QCocoaEventDispatcherPrivate *d = static_cast(info); + QMacAutoReleasePool pool; (void) d->timerInfoList.activateTimers(); d->maybeStartCFRunLoopTimer(); d->maybeCancelWaitForMoreEvents(); @@ -921,6 +922,7 @@ void qt_mac_maybeCancelWaitForMoreEventsForwarder(QAbstractEventDispatcher *even { Q_UNUSED(ref); Q_UNUSED(activity); + QMacAutoReleasePool pool; static_cast(info)->processPostedEvents(); } @@ -932,6 +934,7 @@ void qt_mac_maybeCancelWaitForMoreEventsForwarder(QAbstractEventDispatcher *even d->maybeCancelWaitForMoreEvents(); return; } + QMacAutoReleasePool pool; d->processPostedEvents(); d->maybeCancelWaitForMoreEvents(); }