diff options
| author | Edward Welbourne <edward.welbourne@qt.io> | 2024-04-08 18:28:39 +0200 |
|---|---|---|
| committer | Edward Welbourne <edward.welbourne@qt.io> | 2024-07-15 20:06:38 +0200 |
| commit | 7551482205794442e11b2b7fd1bf48694a5d3ed6 (patch) | |
| tree | 9f1df4078b99b8e32a21bcce76fe8aa4630caaaf /src/corelib/io/qabstractfileengine.cpp | |
| parent | 3ab18f40216fd55e57d8a8128ea1fae7612a45a3 (diff) | |
QAFileEngine: let Private take charge of setting its own q_ptr
The QAFE was always setting the q_ptr of the Private just after it was
constructed, but it wasn't immediately obvious the QAFE(Private &)
constructor wasn't stealing its d_ptr of some other QAFE by
overwriting the q_ptr. Passing the file engine's this to the Private's
constructor makes it all unambiguous and incidentally makes it
possible to make clear that q_ptr is in fact const. Fixes a static
analyzer's grumble about Private's constructor not setting q_ptr.
Task-number: QTBUG-122619
Change-Id: Id532bbe628651ad691b7c4b058e01c5cc2e6e241
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Diffstat (limited to 'src/corelib/io/qabstractfileengine.cpp')
| -rw-r--r-- | src/corelib/io/qabstractfileengine.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp index 70e68be21c1..a3fa9c00f86 100644 --- a/src/corelib/io/qabstractfileengine.cpp +++ b/src/corelib/io/qabstractfileengine.cpp @@ -318,9 +318,8 @@ std::unique_ptr<QAbstractFileEngine> QAbstractFileEngine::create(const QString & \sa setFileName() */ -QAbstractFileEngine::QAbstractFileEngine() : d_ptr(new QAbstractFileEnginePrivate) +QAbstractFileEngine::QAbstractFileEngine() : d_ptr(new QAbstractFileEnginePrivate(this)) { - d_ptr->q_ptr = this; } /*! @@ -330,7 +329,7 @@ QAbstractFileEngine::QAbstractFileEngine() : d_ptr(new QAbstractFileEnginePrivat */ QAbstractFileEngine::QAbstractFileEngine(QAbstractFileEnginePrivate &dd) : d_ptr(&dd) { - d_ptr->q_ptr = this; + Q_ASSERT(d_ptr->q_ptr == this); } /*! |
