summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2019-07-22 06:50:42 +0200
committerLiang Qi <liang.qi@qt.io>2019-07-22 06:50:42 +0200
commit261a87f956f345d4064eb2eb64e0cf7c98ec7d92 (patch)
tree53d10a28cdaf526418f4419c99cb26485c047a0d /src/corelib/kernel
parent0652bdcf5e60461cd9a513d64be00b8830826fad (diff)
parent5f1cf8e0f5da36063202d46463c2d9e79d841a4d (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Conflicts: qmake/generators/makefile.cpp Change-Id: Ib3715e626f2fd32804c75c16ea9aa06a1216e76d
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qcore_mac_objc.mm5
-rw-r--r--src/corelib/kernel/qcore_mac_p.h10
2 files changed, 9 insertions, 6 deletions
diff --git a/src/corelib/kernel/qcore_mac_objc.mm b/src/corelib/kernel/qcore_mac_objc.mm
index 15b69acbd4..9e9e71c397 100644
--- a/src/corelib/kernel/qcore_mac_objc.mm
+++ b/src/corelib/kernel/qcore_mac_objc.mm
@@ -514,10 +514,9 @@ Q_CONSTRUCTOR_FUNCTION(qt_apple_check_os_version);
// -------------------------------------------------------------------------
-void QMacKeyValueObserver::addObserver()
+void QMacKeyValueObserver::addObserver(NSKeyValueObservingOptions options)
{
- [object addObserver:observer forKeyPath:keyPath
- options:NSKeyValueObservingOptionNew context:callback.get()];
+ [object addObserver:observer forKeyPath:keyPath options:options context:callback.get()];
}
void QMacKeyValueObserver::removeObserver() {
diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
index 0e1a5fe345..447dcd9cbe 100644
--- a/src/corelib/kernel/qcore_mac_p.h
+++ b/src/corelib/kernel/qcore_mac_p.h
@@ -350,8 +350,12 @@ public:
QMacKeyValueObserver() {}
// Note: QMacKeyValueObserver must not outlive the object observed!
- QMacKeyValueObserver(id object, NSString *keyPath, Callback callback)
- : object(object), keyPath(keyPath), callback(new Callback(callback)) { addObserver(); }
+ QMacKeyValueObserver(id object, NSString *keyPath, Callback callback,
+ NSKeyValueObservingOptions options = NSKeyValueObservingOptionNew)
+ : object(object), keyPath(keyPath), callback(new Callback(callback))
+ {
+ addObserver(options);
+ }
QMacKeyValueObserver(const QMacKeyValueObserver &other)
: QMacKeyValueObserver(other.object, other.keyPath, *other.callback.get()) {}
@@ -381,7 +385,7 @@ private:
std::swap(first.callback, second.callback);
}
- void addObserver();
+ void addObserver(NSKeyValueObservingOptions options);
id object = nil;
NSString *keyPath = nullptr;