diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2014-04-02 22:50:23 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-03-01 07:41:46 +0000 |
commit | 1a421248396e4b2bdc9ff3ebb63b1edf41c93474 (patch) | |
tree | b1c2c27c00f7f38647fc40209aefa5c4c757794b /src/widgets/dialogs/qfiledialog.cpp | |
parent | aeb169a48869f4f50237e384e57ccb406228f620 (diff) |
Q{File,Font,Color,Message}DialogOptions are no value classes
These classes are only held in QSharedPointer, so optimize for that:
1. Disable default ctor, copy ctor and assignment operator,
destructor and swap for public users.
2. Add create() to return an instance in a shared pointer.
3. Allocate public and private classes in one memory block,
use QSharedPointer::create() to also add the QSharedPointer
control block to the same memory allocation.
As a consequence, this reduces the creation of a Q*DialogOptions
into a shared pointer by two memory allocations.
Add a macro to enable atomic updates to QtQuick and other users
outside QtBase.
[ChangeLog][QtGui]
[QFileDialogOptions/QFontDialogOptions/QMessageDialogOptions/QColorDialogOptions]
This class no longer has value semantics, but needs to be held
in QSharedPointer (as it always was). To copy an instance, use
the clone() method.
Change-Id: I4c81220e0a8286a310df1c224a30eca34824c4e6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Diffstat (limited to 'src/widgets/dialogs/qfiledialog.cpp')
-rw-r--r-- | src/widgets/dialogs/qfiledialog.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 50667e2a91..3bcd6f7c4b 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -533,7 +533,7 @@ QFileDialogPrivate::QFileDialogPrivate() showHiddenAction(0), useDefaultCaption(true), qFileDialogUi(0), - options(new QFileDialogOptions) + options(QFileDialogOptions::create()) { } |