diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2018-07-06 13:33:11 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2018-07-14 04:20:05 +0000 |
commit | 56d52e1f1a8709520b62b558121237686acf5fae (patch) | |
tree | f6a2390da6a34d30595744fbf545271d4264aa81 /src/corelib/thread/qthread_p.h | |
parent | f6425da424b1a0d5927ee56fa657a9b31ca5afd1 (diff) |
QThread: Centralize the creation of the event dispatcher
In some places we call startingUp(), in others we don't. It's probably
ok for those that have just created an object of a given class, which
knows whether the virtual call is necessary or not. But for the generic
case, we do call it.
Change-Id: If48c5c2e920c433298f1fffd153ee1cc75703204
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/thread/qthread_p.h')
-rw-r--r-- | src/corelib/thread/qthread_p.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/corelib/thread/qthread_p.h b/src/corelib/thread/qthread_p.h index 73736ce13b..93f245ff6e 100644 --- a/src/corelib/thread/qthread_p.h +++ b/src/corelib/thread/qthread_p.h @@ -248,7 +248,15 @@ public: void ref(); void deref(); inline bool hasEventDispatcher() const - { return eventDispatcher.load() != 0; } + { return eventDispatcher.load() != nullptr; } + QAbstractEventDispatcher *createEventDispatcher(); + QAbstractEventDispatcher *ensureEventDispatcher() + { + QAbstractEventDispatcher *ed = eventDispatcher.load(); + if (Q_LIKELY(ed)) + return ed; + return createEventDispatcher(); + } bool canWaitLocked() { |