summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Schleifenbaum <christoph.schleifenbaum@kdab.com>2012-07-12 09:18:13 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-13 01:51:35 +0200
commit770e1d30a220ec0c03b08bc1db797543f32d2b5a (patch)
treea64947e67911fc912bb2314857dd624f06ba095d
parentea6946318f9ed7162b36d88f4a1c8acaa68679ae (diff)
Mac: Fix crash on Mac OS 10.6 with new scrollbars.
Add missing runtime for OS X version in constructor. This ended up in a crash when starting a version compiled on 10.7 on 10.6. Change-Id: I25c5562ee905317554e79d83a2f5236ce9e2a145 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r--src/widgets/styles/qmacstyle_mac.mm24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index 67a3fd176e..fecc4f2b5f 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -2107,25 +2107,29 @@ QMacStyle::QMacStyle()
d = new QMacStylePrivate(this);
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
- d->receiver = [[NotificationReceiver alloc] initWithPrivate:d];
- NotificationReceiver *receiver = static_cast<NotificationReceiver *>(d->receiver);
+ if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7) {
+ d->receiver = [[NotificationReceiver alloc] initWithPrivate:d];
+ NotificationReceiver *receiver = static_cast<NotificationReceiver *>(d->receiver);
- [[NSNotificationCenter defaultCenter] addObserver:receiver
- selector:@selector(scrollBarStyleDidChange:)
- name:NSPreferredScrollerStyleDidChangeNotification
- object:nil];
+ [[NSNotificationCenter defaultCenter] addObserver:receiver
+ selector:@selector(scrollBarStyleDidChange:)
+ name:NSPreferredScrollerStyleDidChangeNotification
+ object:nil];
- d->nsscroller = [[NSScroller alloc] init];
+ d->nsscroller = [[NSScroller alloc] init];
+ }
#endif
}
QMacStyle::~QMacStyle()
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
- [d->nsscroller release];
+ if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7) {
+ [d->nsscroller release];
- NotificationReceiver *receiver = static_cast<NotificationReceiver *>(d->receiver);
- [[NSNotificationCenter defaultCenter] removeObserver:receiver];
+ NotificationReceiver *receiver = static_cast<NotificationReceiver *>(d->receiver);
+ [[NSNotificationCenter defaultCenter] removeObserver:receiver];
+ }
#endif
delete qt_mac_backgroundPattern;