Commit Graph

32623 Commits

Author SHA1 Message Date
Shawn Rutledge
4480f47f7b tablet example: don't update the cursor image on iOS
There is no visible cursor on iOS, so updating the image is a waste
of time.  Removing this does in fact speed up rendering of the strokes.

Change-Id: If958fabeefd4273644707277d4a084855d415bb1
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-06-02 20:31:16 +00:00
Shawn Rutledge
c379719607 QTesselator: disable for-loop analysis on Clang
Caught by Clang 4:
error: variable 'k' is incremented both in the loop header and in the loop body [-Werror,-Wfor-loop-analysis]

But we don't want to change behavior unless we can prove that it's wrong
or that there's a way to refactor this without changing it.

Change-Id: Iecee112b0cd96bec8d975430a74ca548ee2f470f
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-06-02 20:31:03 +00:00
Gatis Paeglis
ab8ea993b3 qpa: start using QT_DEPRECATED_SINCE to increase visibility
... when platform plugins are using compatibility APIs.

Even though QPA is not a public API and does not promise source/binary
compatibility, we still try to not break things when possible. Eventually
deprectated APIs will be dropped  (e.g between major Qt versions). Having
deprecation warnings here would help maintainers to notice API changes even
before their code stops compiling due to removed QPA APIs. This will also
ensure that we won't forget to remove compatibility APIs.

Change-Id: If13786eb7d42a595708ace00b2ddea5209df18db
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-06-02 20:19:08 +00:00
Joerg Bornemann
ea57a23d7a Remove QWinOverlappedIoNotifier
This class in unused in qtbase since Qt 5.6.1.

The only outside usage was in qtserialport, which got its own copy of
QWinOverlappedIoNotifier in commit qtserialport/65dba188.

Change-Id: I7668e67a1cc49c4418c66141784b180cd5f9d479
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-06-02 20:01:43 +00:00
Marc Mutz
1e503d7634 Move QGestureRecognizer test to widgets/kernel
It's the subdir where the implementation also lives. There's no
src/widgets/gestures, either.

Change the mac: into a darwin: scope in the .pro file, so Sanity Bot
does not complain.

Change-Id: I7608d6da05af4a1117db585798a87a20ae80717a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-06-02 18:36:11 +00:00
Friedemann Kleint
b04b4ae4f6 QWindowsXPStyle: Do not draw some opaque theme parts directly
Drawing directly using GDI32 can produce colors that are invalid in the
premultiplied alpha format which is used for the backing store. Exclude part
ids which are known to be opaque.

Task-number: QTBUG-60571
Change-Id: I0863d030acf79f317f5e82a5ee954c9cb507c449
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-06-02 14:04:58 +00:00
Marc Mutz
61ea8f243e uic: re-flow a line
The body of an if statement should not be on the same line
as the condition.

Change-Id: I45614e16d8f0f860824daff9f7b5ba7776535d99
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2017-06-02 10:30:53 +00:00
Marc Mutz
5b99ac4ead uic: standardize property lookups on QHash::value()
This is the pattern used throughout the rest of the uic codebase,
and is both more efficient (one lookup instead of two with an
additional contains() call) and will allow porting to another
container.

In writeSpacerItem(), also gently optimize string handling.

Change-Id: I20c7914089a699d2161d648b16d938e3a001ace3
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2017-06-02 10:30:47 +00:00
Marcel Krems
f68e4b8c31 XCB platform plugin: add missing include
89870a35bd introduced an
usage of std::free without including cstdlib.

Change-Id: I9b7ae1caf90bf22aae99cc0407347350c83181a2
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-06-02 10:30:13 +00:00
Gatis Paeglis
7f2def3e57 xcb: don't use C-style cast in qxcbnativepainting.cpp
Change-Id: Ifb61ca142a77ed89686a54e0827c136613a36e52
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-06-02 10:30:08 +00:00
Gatis Paeglis
dff3c0f14f xcb: remove CREATE_VISUALINFO_FROM_DEFAULT_VISUALID macro
It was added by d605883 and become unused after 5f39a0e.
The patch that added this macro used it only in one place,
which rarely is a good reason for introducing a macro.

Change-Id: If7065956fc79daf9b2d535527beaa42dbe0243a2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-06-02 10:30:04 +00:00
Gatis Paeglis
f28d78df48 xcb: remove duplicate QXcbConnection::supportsThreadedRendering()
It is unused and it duplicates QXcbConnection::threadedEventHandling():

bool supportsThreadedRendering() const { return m_reader->isRunning(); }
bool threadedEventHandling() const { return m_reader->isRunning(); }

"threadedEventHandling" is more appropriate name by looking at the body
of the function.

Change-Id: I99733e9c1ddb3ff75444d61d28eca54dcd6b0418
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-06-02 10:29:59 +00:00
Gabriel de Dietrich
0e3d6214df QStyleAnimation: Go down to 15 fps
The new implementation of CE_ProgressBarContents in
QMacStyle uses NSProgressIndicator, which is noticeably
heavier than the previously used HITheme API. Setting
the animation frame rate to 20 fps improves things
significantly compared to the default 30 fps, but
Cocoa seems to update the animation at 15 fps for
indeterminate NSProgressIndicator. Going down to 12
or 10 fps may be an option in the future, but it's
not compatible with NSProgressIndicator.

Change-Id: Ie1e18d7d78d1bd7ea38a12d715a6a7db0e175a29
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
2017-06-01 17:56:24 +00:00
Gabriel de Dietrich
83cbb31460 QMacStyle: Remove HITheme APIs to render QProgresssBar
We use NSProgressIndicator in a similar fashion as we do
with NSScroller for transient scrollers.

Also changed the signature of QCocoaDrawRectBlock.

Change-Id: I0fef8e327494fb557af2c2bab2aafa57c2e69564
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-06-01 17:56:12 +00:00
Alexey Chernov
8b6d6d4832 Do its best in QComboBox to map completer's index
Add additional code paths to map the index passed by QCompleter in its
activated() signal in case when QCompleter's model isn't the same as
QComboBox's one.

Task-number: QTBUG-52027
Change-Id: I1d74037fccbe19962bb7f242aa7b1c2441aa5d54
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-06-01 17:09:21 +00:00
J-P Nurmi
46b8997b52 Expose QFont enums to the meta object system
Qt Quick Controls 2 needs configurable and toolable fonts for the
upcoming image-based style. Exposing these enums to the meta object
system allows the font weights, styles, etc. being specified as
enum value string names.

Change-Id: I024793656dd1af3a47d4edb5e27563a13c3b4c08
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2017-05-31 04:30:30 +00:00
Jesus Fernandez
395ef25353 Use modern C++ keywords
Unifies the usage of modern C++ keywords with the previous commit.

Change-Id: I2dbcf3774634cbd3a24eb1cac58f34bae241cfea
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-05-30 16:03:42 +00:00
Liang Qi
4f9c53d351 Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/dev 2017-05-30 15:22:30 +00:00
Marc Mutz
dc72ff7b97 QXmlStream: don't create QStrings just to look up entities in a hash
Move the entity's name into the Entity struct and use a QStringView
into Entity::name as the hash key, instead of a QString.

This avoids having to create a QString from QStringRefs every time an
entity is looked up.

Only costs 280B in text size on optimized GCC 6.1 Linux AMD64 builds.

Change-Id: I8dbd04c90c1ff684b794685025204abc89f68a84
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-05-30 10:38:17 +00:00
Marc Mutz
e136565505 QGestureManager: use QScopedPointer to hold prototype gesture
When registering a QGestureRecognizer, we create a prototype QGesture
to ask for it's QGesture::type(). Instead of a manual delete, use a
QScopedPointer to hold it.

Change-Id: I5cf1ad95864265b7d465b6344751acfb19a16800
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
2017-05-30 07:36:53 +00:00
Marc Mutz
a6351be355 QGestureManager: use op[] instead of contains() + insert() to ensure an entry exists
... in an associative container.

This is more efficient (one lookup instead of two).

Change-Id: I07f1ffebb9b27714c0694658366f750752ea438c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
2017-05-30 07:35:31 +00:00
Allan Sandfeld Jensen
4008400060 Claim alpha8 is premultiplied
The image format alpha8 is neither premultiplied nor non-premultiplied,
but premultiplied being the default, it is better to claim that to
avoid it trigging any special handling of unpremultiplied semi-
transparent formats.

Change-Id: I4af28bca472cd97ab6867bf12c4a202005577bb4
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-05-29 13:58:45 +00:00
Friedemann Kleint
afab37a4de QThread: Refine check for presence of std::future
MinGW with win32 threads might not have _GLIBCXX_HAS_GTHREADS, so it
needs to be checked.

Amends change 597d4ff796.

Change-Id: I5c91d1dd3967c4922ced315b475d653b8b102ad6
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2017-05-29 13:27:40 +00:00
Liang Qi
6a772fd201 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	.qmake.conf
	mkspecs/common/msvc-desktop.conf
	mkspecs/win32-g++/qmake.conf
	mkspecs/win32-icc/qmake.conf
	src/platformsupport/fontdatabases/mac/coretext.pri
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm

Change-Id: I74a6f7705c9547ed8bbac7260eb4645543e32655
2017-05-29 10:54:41 +02:00
Jesus Fernandez
40206a9f6d Modify QSqlQueryModel roleNames
QSqlQueryModel::roleNames was exposing the default QAbstractItemModel
roles. Only "display" role makes sense because it's a read-only model
and it is not providing any other data information.

[ChangeLog][Important Behavior Changes] The names of the roles
returned by QSqlQueryModel::roleNames now only include a name for the
Qt::DisplayRole. Previously all the roles names of QSqlQueryModel
were returned.

Task-number: QTBUG-60857
Change-Id: Ib18aa0e7083a828648767d700c5af05b6aa84f4f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-05-26 18:16:04 +00:00
Tor Arne Vestbø
4c346b6e2b macOS: Don't keep WA_MacAlwaysShowToolWindow windows always on top
On macOS if an application is no longer active then it will cause any
tool windows to hide until the application is active again. For
applications that did not want this behavior and thus wanted the tool
window to stay visible, the WA_MacAlwaysShowToolWindow flag is
available.

In order to ensure that this flag is respected, the tool window needs
to have its level changed when the application active status changes.
Once it is no longer active the window needs to be seen as a normal
window, and when it is active then it needs to be set to be a window
that is always on top to get the right behavior.

Due to various bugs in AppKit we need to explicitly order windows
in front during this process, which requires us to then iterate the
windows in back-to-front order. For macOS versions < 10.12 there is
no way to get an ordered list of windows, so we fall back to using
the window creation order.

Task-number: QTBUG-57581
Change-Id: If20b4698616707685f83b1378f87593f8169c8c6
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-05-24 07:45:23 +00:00
Joerg Bornemann
9609e2945c Remove leading whitespace from command lines in VS projects
Change-Id: I9888e5cce4fe82a27c823e7a0d345f1af839ca97
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-23 17:27:27 +00:00
Joerg Bornemann
808cc8853b Fix parsing of MSVC's /utf-8 option, take 2
The dash was missing. This commit amends 70e772079.

Task-number: QTBUG-59431
Change-Id: I18f3519a502ca57336cafad574f8738f2e717740
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-23 17:25:50 +00:00
Tony Sarajärvi
b09c4cc48e Blacklist tst_QEventLoop:testQuitLock as it is flaky on macOS
Task-number: QTBUG-60992
Change-Id: I9474fd67b6429f01ddbbc9ae17af4ae8635e53df
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-05-23 14:52:31 +00:00
Tony Sarajärvi
1c13d130c6 Extend blacklisting of qeventdispatcher to cover macOS
They have been blacklisted on windows previously and now fail on
macOS 10.12 as well.

Task-number: QTBUG-60993
Change-Id: Ib7a3acfc7f2285c0a587d4abd88a4a218391d623
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-05-23 14:52:09 +00:00
Andy Shaw
c1b81190e2 Use hasFocus() to check if the QTreeView is considered active or not
When drawing the branches in a QTreeView, it should use hasFocus() to
determine if it is the active widget or not. This is how it checks when
styling the other aspects of the treeview, so the branches should be
done in line with this.

Change-Id: Id721401424ad95e9fc7ffbdc991e53b5f7feac01
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2017-05-23 14:00:30 +00:00
Leena Miettinen
b2d8e1e5be Doc: Replace "Macintosh" with something suitable or omit it
Change-Id: I3067bd7e6ae2d6d68d5232a56eaf368a0415876c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-05-23 13:02:33 +00:00
Andy Shaw
d67410c615 Ensure status tips for a headerview section are handled
When the mouse is moved over a header section then if there is a status
tip then this should be sent as an event like it would for a typical
QAbstractItemView.
Also adds a test for the StatusTipRole for the QTreeView itself as well as
the header.

Task-number: QTBUG-2066
Change-Id: Iaef8d91f1bd621c2463cde2dff4b2291fb037975
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-05-23 11:51:03 +00:00
Albert Astals Cid
2ca187caa3 moc: Allow NOTIFY signals defined in parent classes
Limitation is that the signal needs to be parameter-less

[ChangeLog][moc] moc now supports NOTIFY signals of parent classes in Q_PROPERTY

Change-Id: Iad64c96c3ec65d4be8ad9ff1a9f889938ab9bf45
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
2017-05-23 11:11:52 +00:00
André Klitzing
3d76b27118 Update bundled sqlite to 3.16.2 as it fix some small regressions
[ChangeLog][Third-Party Code] Sqlite was updated to version 3.16.2.

Change-Id: Ib3e9c3a7021760e3cfa6dbd44f67b9da4abbe367
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-05-23 08:44:21 +00:00
Marc Mutz
f437fb2934 Qt containers: use std::move in take*() methods
Move the objects out of the data structure to avoid needless copies.

Change-Id: I1a69fccc431e040b229d6ea9ded0e041c208c861
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-05-23 08:03:31 +00:00
Joerg Bornemann
7e0197e119 Fix VS project generation for ActiveQt server projects
Remove VS 6 support code that was erroneously triggered.

Task-number: QTBUG-60895
Change-Id: I12c0afe09e8fb200e5050c83ac5f34ad2376fd2e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-23 06:56:47 +00:00
Joerg Bornemann
39c835b9c5 Do not warn about unknown MSVC compiler conformance options
Every /Zc:XXX option qmake doesn't know about yields a "WARNING: Could
not parse Compiler option '-Zc:XXX'; added to AdditionalOptions."

Put all /Zc:XXX options we don't handle into AdditionalOptions without
printing a warning. There's no point in making all options known to
qmake and updating them for every MSVC release.

Change-Id: I319e027791a7b0a29d139ee3074ab1aed8ce8a63
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-23 06:55:17 +00:00
Andy Shaw
3dd089c08b Cocoa: Clean up memory leak when providing the accessibilityActions
Change-Id: Ib69155ceedb7bf35e3a7b5daa309fc2d54e3f254
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-05-23 06:17:25 +00:00
Oliver Wolff
7076438db4 winrt: Move handling of new socket connections into worker
Same as with receiving data, the "newConnection callback" might be
triggered late and cause a crash if it accesses data of a destroyed
object. By moving the handling of this callback to a worker without
much logic we can prevent these late callbacks from doing any harm.
The signals are no longer connected and thus do not trigger any
problems.

Change-Id: Ic61584f12a46506abe12d7b21403d0c0970c0aae
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-05-23 06:17:05 +00:00
Friedemann Kleint
96120d7587 configure.json: Do not test for gold linker on Windows
MinGW 6.3 ships a gold linker that pops up a crash dialog
while running configure tests.

Change-Id: Ib25e30df664779e1ecced0ae37fa1e73e98f95ea
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-05-23 06:14:28 +00:00
Mitch Curtis
1fb85458fc Doc: fix grammar in QScopedPointer's detailed description
Change-Id: I3ce9650d62f3b53683c6b6f210c1413e94ae006c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-05-23 06:14:24 +00:00
Marc Mutz
2ff0814aa2 QSplashScreen: make all ctors use the same Qt::WindowFlags
One was setting FramelessWindowHint, the other didn't.

Settle on setting it.

[ChangeLog][QtWidgets][QSplashScreen] All constructors now implicitly
set Qt::FramelessWindowHint, not just the (pixmap, flags) one.

Change-Id: I5e3919acac80bf31c2c61fbade938ff319a6cea9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-05-22 21:09:55 +00:00
Marc Mutz
6d44fa53e1 QItemSelection: fix a quadratic loop
QList::erase(it) is a linear operation. Calling it in a loop
constitutes quadratic behavior.

Fix by using the erase-remove idiom.

Write a generic function object QtFunctionObjects::IsNotValid, instead
of a lambda, because I am building up a collection of such function
objects in my tree, to be submitted any time now™, so this will reduce
the churn once that gets merged. Wrap it in the unnamed namespace to
avoid ODR violations in case this pattern repeats.

Replace an existing erase-remove idiom's isNotValid lambda function
with the new function object.

Change-Id: I4f0af04e7b201eb168e79beeda332eee3c6f33c3
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-05-22 18:16:38 +00:00
Edward Welbourne
fe8e0da33e QDateTimeParser: pass down an actual current value where expected
Method parse() was passing down its default value argument to various
methods that expected an argument reflecting what's been parsed thus
far.  Pass them what they expected !  Most are fairly insensitive to
the details at present, but the zone parsing I intend to add needs to
know the right date to compute its offset.

This makes it necessary to work out a sensible date and time to use,
from the fragments seen so far, using the default value to fill in
gaps but deviating from it wherever it conflicts with the actual
values seen.

Change-Id: I76750fcd92c1bdcad15c7dd4d8002cb90cec94ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-05-22 13:00:00 +00:00
Allan Sandfeld Jensen
7fbc7c9600 Optimize conversion from unpremultiplied to opaque formats
Save unnecessary premultiply and unpremultiplication when converting
from an unpremultiplied format like ARGB32 to any opaque format like
RGB32 or RGB16.

Change-Id: I73f58200ff5c62fb07910e6f2b1c29b7e254d327
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-05-22 11:04:16 +00:00
Tor Arne Vestbø
e794c1bb79 macOS: Remove workaround when adding view as subview
a6b34517e introduced this code as a workaround for stale QCocoaWindow
pointers during event delivery, but these days QCocoaWindow is a
QObject and guarded by QPointer. Disassembly of AppKit also shows that
the view is removed for us, so there's no need to do it explicitly,
especially as this causes two distinct event callbacks from AppKit
for what should be one atomic operation.

Task-number: QTBUG-42059
Change-Id: I212c894adf6aee51256ceff03c9821a995c2a63d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-05-22 10:57:53 +00:00
Tor Arne Vestbø
1051abc480 macOS: Remove workaround when setting view as content view
abde2a59c6 introduced this code on the basis that setContentView
does not remove the view from its superview, but disassembly of
AppKit shows that it does. Since commit 52767b8ee7 we also
ensure that the previous NSWindow has its contentView property
cleared, so this workaround is no longer needed.

Task-number: QTBUG-39628
Change-Id: I21e179263d006f3af1f8a55e9e2f7e8eeab2a632
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-05-22 10:57:49 +00:00
Marc Mutz
5336e061ec QVulkanWindow: return QMatrix4x4 by value
The function never returns nullptr, so return the matrix by value.

Change-Id: I7c1eeb43b9693866049763565b575348ddd35548
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-05-22 09:23:15 +00:00
Marc Mutz
85554be25f QWizard: move 'initialized' bit into QWizardPage
... as suggested by a code comment.

This avoids the external bookkeeping using a QSet, and will allow, in
Qt 6, when we can port QWizardPage to the NVI idiom, maintaining the
bit as part of the initialize and cleanup functions directly.

Change-Id: I25a4dbf4c42f2c0286aa1a72ab9c59463d44c5df
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-05-22 09:21:23 +00:00