Go to file
Marc Mutz 70d84f26bd QStyleSheetStyle: don't hold ButtonInfo in QList
ButtonInfo is larger than a void*, so holding them in a QList is needlessly
inefficient. Worse, the code could come to depend on the fragile property
of (inefficient) QLists that references to elements therein never are
invalidated.

Fix by holding it in QVector. Also reserve() the vector, even though we
can't tell the size exectly. It's a short-lived vector.

When appending, add an optimistic qMove().

I would have liked to use std::vector instead, but QRenderRule, thus
ButtonInfo, isn't nothrow-move-constructible, because of missing
move constructors on QBrush and QFont, among others.

Change-Id: I89164f4ed5745498093102f022a7ef32186e8045
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-17 18:22:16 +00:00
bin fixqt4headers.pl: Improve detection of Qt 5 location. 2015-04-22 10:23:41 +00:00
config.tests Revamp the CLOEXEC support in Qt 2015-07-17 17:36:19 +00:00
dist Update the changelog with the LTS discussion results 2015-06-25 15:58:28 -07:00
doc Merge remote-tracking branch 'origin/5.5' into HEAD 2015-07-17 16:35:42 +02:00
examples Merge "Merge remote-tracking branch 'origin/5.5' into HEAD" into refs/staging/dev 2015-07-17 14:43:34 +00:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Make CONFIG += c++11 by default not disable GNU extensions 2015-07-17 17:36:27 +00:00
qmake qmake: polish some function objects 2015-07-08 12:31:08 +00:00
src QStyleSheetStyle: don't hold ButtonInfo in QList 2015-07-17 18:22:16 +00:00
tests Add QTemporaryDir::errorString() 2015-07-17 17:36:07 +00:00
tools configure: Put qml-debug option into QT_CONFIG 2015-07-06 14:15:39 +00:00
util Fix typo when resolving EGL extension. 2015-04-23 11:54:36 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Remove qtdemo from gitignore 2014-09-17 12:38:55 +02:00
.qmake.conf Enable -Werror for all of qtbase 2013-09-04 01:50:10 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Revamp the CLOEXEC support in Qt 2015-07-17 17:36:19 +00:00
configure.bat configure.bat: Search for icl.exe before cl.exe 2015-07-17 00:52:57 +00:00
header.BSD Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
header.FDL Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPLv3 Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.LGPLv21 Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.PREVIEW.COMMERCIAL Update copyright headers 2015-02-11 06:49:51 +00:00
qtbase.pro Avoid qtbase/bin/bin artifact when running make install 2015-06-03 04:27:49 +00:00
sync.profile Move the function helper to its own file 2015-06-05 07:48:17 +00:00