Go to file
Thiago Macieira f77d2e0319 Merge two internal classes of QSharedPointer and de-virtualise them
The two classes are QtSharedPointer::ExternalRefCountData and
ExternalRefCountWithDestroyFn. The split existed because of what Qt
4.5 did before custom deleters existed: the ExternalRefCountData class
was a virtual class that contained a destroy() virtual, which was in
charge of deleting the data or returning false if it didn't.

Turns out that virtual classes was a mistake. This commit
de-virtualises them -- we couldn't do it in Qt 4 because of binary
compatibility. This saves us one pointer-size in the size of the
private, plus the fact that fewer symbols are required (there is no
virtual table to be initialised).

Additionaly, since a deleter is always stored with the reference
count, we don't need the split between the two classes anymore.

Change-Id: I1cd9400561dcee089a406a57bd856b1730f18afc
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-12 20:09:16 +02:00
bin make syncqt work with MSys Perl and MSVC 2012-06-01 18:26:18 +02:00
config.tests Update listing of when SSSE3 and SSE4.1 first became available 2012-06-12 17:35:06 +02:00
dist SIC: QPrintSupport - Remove options api from QPageSetupDialog 2012-06-07 21:18:36 +02:00
doc Remove the MacMainWindow example. 2012-05-30 01:54:45 +02:00
examples Use a QVector<int> instead of a QSet<int> in itemviews/models. 2012-06-12 04:30:07 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs add SSE2/AVX/Neon/etc. flags to mkspec win32-g++-cross 2012-06-12 20:06:39 +02:00
qmake Remove unnecessary code from the XCode generator 2012-06-12 17:40:21 +02:00
src Merge two internal classes of QSharedPointer and de-virtualise them 2012-06-12 20:09:16 +02:00
tests Remove "delete value" from QSharedPointer 2012-06-12 20:09:09 +02:00
tools Add configure-time checking for the SSE and AVX features on Windows 2012-06-12 17:34:52 +02:00
util Line Breaking Algorithm: handle the Object Replacement Character 2012-06-10 15:58:13 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Add imports directory to ignore list 2012-04-11 01:42:12 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure -device: Use $1 instead of $VAL 2012-06-12 20:06:39 +02:00
configure.bat Remove Q_BYTE_ORDER and -*-endian arguments from configures 2012-03-02 14:48:00 +01:00
header.BSD Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.FDL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL-ONLY Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
INSTALL Remove Symbian specific code from qtbase. 2012-01-31 07:08:31 +01:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL Add the LICENSE.GPL file to the module referenced from license headers 2012-05-20 22:41:08 +02:00
LICENSE.LGPL Update contact information in license headers. 2012-01-23 04:04:33 +01:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Remove all references to X11 session management 2012-06-01 03:15:55 +02:00
sync.profile Expose QPA API under qpa/* 2012-05-07 20:25:24 +02:00