Clean up QCocoaIntegration destruction.
[profile/ivi/qtbase.git] / src / plugins / platforms / cocoa / qcocoaintegration.mm
index 7d91be7..685b640 100644 (file)
@@ -89,6 +89,9 @@ QCocoaScreen::~QCocoaScreen()
 QCocoaIntegration::QCocoaIntegration()
     : mFontDb(new QCoreTextFontDatabase())
     , mEventDispatcher(new QCocoaEventDispatcher())
+    , mAccessibility(new QPlatformAccessibility)
+    , mPlatformTheme(new QCocoaTheme)
+
 {
     QCocoaAutoReleasePool pool;
 
@@ -134,13 +137,11 @@ QCocoaIntegration::QCocoaIntegration()
         screenAdded(screen);
     }
 
-    mAccessibility = new QPlatformAccessibility;
-    mPlatformTheme = new QCocoaTheme;
 }
 
 QCocoaIntegration::~QCocoaIntegration()
 {
-    delete mAccessibility;
+    [[NSApplication sharedApplication] setDelegate: 0];
 }
 
 bool QCocoaIntegration::hasCapability(QPlatformIntegration::Capability cap) const
@@ -177,7 +178,7 @@ QAbstractEventDispatcher *QCocoaIntegration::guiThreadEventDispatcher() const
 
 QPlatformFontDatabase *QCocoaIntegration::fontDatabase() const
 {
-    return mFontDb;
+    return mFontDb.data();
 }
 
 QPlatformNativeInterface *QCocoaIntegration::nativeInterface() const
@@ -187,12 +188,12 @@ QPlatformNativeInterface *QCocoaIntegration::nativeInterface() const
 
 QPlatformAccessibility *QCocoaIntegration::accessibility() const
 {
-    return mAccessibility;
+    return mAccessibility.data();
 }
 
 QPlatformTheme *QCocoaIntegration::platformTheme() const
 {
-    return mPlatformTheme;
+    return mPlatformTheme.data();
 }
 
 QT_END_NAMESPACE