diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2020-04-29 10:09:12 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2020-04-29 22:58:11 +0200 |
commit | a4071c18de94e41a157642cd0dfa0f4748d531af (patch) | |
tree | 8a6a20d279e5f908a00f308a16e45ddfbcbaedf8 /src/concurrent/qtconcurrentthreadengine.h | |
parent | 4a242963ec5715f5755eb707ccc845c890a77fa9 (diff) |
Get rid of virtual inheritance from ThreadEngineBase
The virtual inheritance causes the issue, when adding
new, non-default constructor to the base ThreadEngineBase
class. It looks like classes derived from it can't
use the non-default constructor, even when it's called
explicilty from the subclass. Instead, the default constructor of the
ThreadEngineBase class is always required during compilation
and called on runtime.
In addition, the only sensible use of the virtual inheritance
is the multiple inheritance, but apparently it looks like
there is no single class in Qt which would multi inherit from
the ThreadEngineBase class, so this change shouldn't have any bad
side effects. This justifies the current lack of info on why it
was introduced originally ages ago.
Change-Id: I08266e6f6865d938d1b1e4243ef94d2c02c3a886
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/concurrent/qtconcurrentthreadengine.h')
-rw-r--r-- | src/concurrent/qtconcurrentthreadengine.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/concurrent/qtconcurrentthreadengine.h b/src/concurrent/qtconcurrentthreadengine.h index b7be48d612..a04f69f8e4 100644 --- a/src/concurrent/qtconcurrentthreadengine.h +++ b/src/concurrent/qtconcurrentthreadengine.h @@ -126,7 +126,7 @@ protected: template <typename T> -class ThreadEngine : public virtual ThreadEngineBase +class ThreadEngine : public ThreadEngineBase { public: typedef T ResultType; |