qt5base-lts/tests/auto
Samuel Rødal 677cf76340 Prevent QPixmapCache potentially growing indefinitely.
QPixmapCache has until now refused to throw out shared pixmaps, i.e.
ones that still have shallow copies lying around. This leads to problems
when someone inserts two shallow copies using different keys, causing
the cache itself containing multiple shallow copies and thus forever
refusing to throw out those entries.

It's rather easy for this to accidentally happen in a user application
since QPixmap::load() or QPixmap(const QString &fileName, ...)
automatically cache the pixmap in the QPixmapCache, thus if the user
then calls QPixmapCache::insert() on the same pixmap or a shallow copy
it is locked in the QPixmapCache forever.

The only reason for not throwing out a pixmap that's shared would be to
prevent re-loading a pixmap from file when a user has a direct reference
to it in his application, but in that case the user is unlikely to
re-load the pixmap from file in any case. Therefore it seems the best
fix is to get rid of this limitation.

Task-number: QTBUG-21359
Reviewed-by: John Brooks
Reviewed-by: Olivier Goffart
(cherry picked from commit 7ab0bed3a56d46c386e65abc381264c57137cb43)

Change-Id: I46dce19227e19a25e0287cf7372177430da15a66
Reviewed-on: http://codereview.qt-project.org/4563
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-10-03 11:55:32 +02:00
..
bic Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
collections Prevent QPixmapCache potentially growing indefinitely. 2011-10-03 11:55:32 +02:00
compilerwarnings/data Remove uilib and QtUiTools from QtBase 2011-09-13 20:11:40 +02:00
corelib Make all uses of QBasicAtomicInt and Pointer use load() and store() 2011-10-03 07:57:41 +02:00
dbus This passes just fine 2011-09-20 21:57:18 +02:00
exceptionsafety Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
exceptionsafety_objects Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
gestures Disabled tests for refactor->master integration 2011-09-13 08:25:05 +02:00
gui Prevent QPixmapCache potentially growing indefinitely. 2011-10-03 11:55:32 +02:00
guiapplauncher Update the documentation after moving examples. 2011-07-05 21:19:08 +02:00
lancelot Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
languagechange Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
macgui Tests: Add widgets module to profile. 2011-08-29 15:35:18 +02:00
macnativeevents Tests: Add widgets module to profile. 2011-08-29 15:35:18 +02:00
macplist Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
modeltest Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
network Tests: Fix compilation on Windows. 2011-10-03 07:57:41 +02:00
networkselftest Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
opengl Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
other tests: removed semi-obsolete `maketestselftest' 2011-09-15 07:26:12 +02:00
qabstractbutton Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qabstractitemview Re-enabled tests that are now passing on Linux 2011-09-26 18:47:24 +02:00
qabstractprintdialog Disabled tests for refactor->master integration 2011-09-13 08:25:05 +02:00
qabstractproxymodel Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qabstractscrollarea Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qabstractslider Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qabstractspinbox Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qaccessibility Rename description to localizedDescription in Action interface. 2011-10-03 09:59:27 +02:00
qaccessibility_mac Tests: Add widgets module to profile. 2011-08-29 15:35:18 +02:00
qaction Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qactiongroup Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qapplication Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qboxlayout Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qbuttongroup Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qcalendarwidget Remove obsolete function isHeaderVisible. 2011-09-29 13:28:46 +02:00
qcheckbox Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qcolordialog Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qcolumnview Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qcombobox Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qcommandlinkbutton Merge remote branch 'gerrit/master' into refactor 2011-07-06 14:08:02 +02:00
qcompleter Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qcomplextext Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qcopchannel Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdatawidgetmapper Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qdatetimeedit Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qdesktopwidget Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qdial Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qdialog Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qdialogbuttonbox Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qdirectpainter Tests: Add widgets module to profile. 2011-08-29 15:35:18 +02:00
qdirmodel Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qdockwidget Disabled tests for refactor->master integration 2011-09-13 08:25:05 +02:00
qdoublespinbox Cast back to QWindow * 2011-09-23 00:34:26 +02:00
qdoublevalidator Merge remote branch 'gerrit/master' into refactor 2011-08-03 11:03:22 +02:00
qerrormessage Merge remote-tracking branch 'base/master' into refactor 2011-06-01 15:34:58 +02:00
qfiledialog Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qfiledialog2 Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qfileiconprovider Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qfilesystemmodel Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qfocusevent Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qfocusframe Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qfontcombobox Disabled tests for refactor->master integration 2011-09-13 08:25:05 +02:00
qfontdialog Re-enabled test that was marked insignificant and passes 2011-09-26 07:50:20 +02:00
qformlayout Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qgraphicsanchorlayout Fix autotests to build on Windows. 2011-08-31 13:26:27 +02:00
qgraphicsanchorlayout1 Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicseffect Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qgraphicseffectsource Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicsgridlayout Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
qgraphicsitem reimplemented doUpdateMicroFocus to work without calling the base implementation 2011-09-28 19:40:34 +02:00
qgraphicsitemanimation Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicslayout Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qgraphicslayoutitem Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicslinearlayout Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicsobject Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicspixmapitem Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicspolygonitem Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicsproxywidget Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qgraphicsscene Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qgraphicssceneindex Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qgraphicstransform Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
qgraphicsview Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qgraphicswidget Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
qgridlayout Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qgroupbox Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qheaderview Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qidentityproxymodel Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qinputcontext Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qinputdialog Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qintvalidator Add notify signals for QIntvalidator, QDoubleValidator, QRegExpValidator 2011-07-29 02:21:16 +02:00
qitemdelegate Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qitemeditorfactory Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qitemselectionmodel Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qitemview Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qlabel Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qlayout Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qlcdnumber Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qlineedit Cast back to QWindow * 2011-09-23 00:34:26 +02:00
qlistview Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qlistwidget Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qmacstyle Merge remote branch 'gerrit/master' into refactor 2011-07-21 14:42:46 +02:00
qmainwindow Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qmdiarea Tests: Add widgets module to profile. 2011-08-29 15:35:18 +02:00
qmdisubwindow Fix autotests to build on Windows. 2011-08-31 13:26:27 +02:00
qmenu Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qmenubar Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qmessagebox Fix autotests to build on Windows. 2011-08-31 13:26:27 +02:00
qmultiscreen Tests: Add widgets module to profile. 2011-08-29 15:35:18 +02:00
qnetworkaccessmanager_and_qprogressdialog Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qobjectperformance Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qobjectrace Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qopengl Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qplaintextedit Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qprogressbar Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qprogressdialog Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qpushbutton Merge remote branch 'gerrit/master' into refactor 2011-07-06 14:08:02 +02:00
qradiobutton Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qregexpvalidator Add notify signals for QIntvalidator, QDoubleValidator, QRegExpValidator 2011-07-29 02:21:16 +02:00
qs60mainapplication Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qscrollarea Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qscrollbar Disabled tests for refactor->master integration 2011-09-13 08:25:05 +02:00
qscroller Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qsharedpointer_and_qwidget Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qsidebar Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qsizegrip Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qslider Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qsortfilterproxymodel Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qsound Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qspinbox Re-enabled tests that are now passing on Linux 2011-09-26 18:47:24 +02:00
qsplitter Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qsslsocket_onDemandCertificates_member Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qsslsocket_onDemandCertificates_static Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qstackedlayout Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qstackedwidget Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qstandarditem Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qstandarditemmodel Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qstatusbar Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qstringlistmodel Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qstyle Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qstyleoption Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qstylesheetstyle Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
qsystemtrayicon Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
qtabbar Fix autotests to build on Windows. 2011-08-31 13:26:27 +02:00
qtableview Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qtablewidget Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qtabwidget Merge remote branch 'gerrit/master' into refactor 2011-07-21 14:42:46 +02:00
qtextbrowser Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qtextedit Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qtoolbar Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qtoolbox Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qtoolbutton Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qtooltip Disabled tests for refactor->master integration 2011-09-13 08:25:05 +02:00
qtransformedscreen Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qtreeview Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qtreewidget Re-enabling tests that were marked insignificant but not failing 2011-09-23 13:51:59 +02:00
qtreewidgetitemiterator Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qundogroup Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
qundostack Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
qwidget Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
qwidget_window Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qwidgetaction Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qwindow Implemented QWidget's move() vs setGeometry() distinction in QWindow. 2011-09-23 11:31:21 +02:00
qwindowsurface Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
qwizard Merge remote branch 'gerrit/master' into refactor 2011-07-12 12:52:22 +02:00
qworkspace Merge remote branch 'staging/master' into refactor 2011-05-24 15:22:06 +02:00
qwsembedwidget Tests: Add widgets module to profile. 2011-08-29 15:35:18 +02:00
qwsinputmethod Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qwswindowsystem Doc: Fixing typo 2011-07-07 10:44:07 +02:00
qx11info tests: Mark failing autotests as "insignificant" for now 2011-07-19 13:11:32 +02:00
sql Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
testlib Make QTest::qWarn() use __FILE__ and __LINE__. 2011-09-28 12:17:45 +02:00
tools test: Re-enabled `tst_moc' test that is now passing on Linux 2011-10-03 05:59:54 +02:00
utf8 Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
v8 Fix autotest gui/widgets dependencies 2011-09-19 10:24:25 +02:00
windowsmobile Fix further test builds on Windows. 2011-08-31 15:22:35 +02:00
xml Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
auto.pro Add other.pro back to auto.pro 2011-09-12 10:11:34 +02:00
corelib.pro Moved autotests in category 'testlib' into new directory structure 2011-09-12 08:36:15 +02:00
gui.pro Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
host.pro Moved autotests in category 'tools' into new directory structure 2011-09-12 10:08:29 +02:00
network-settings.h Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
network.pro Merge branch 'master' into refactor 2011-09-12 07:49:03 +02:00
other.pro Remove Symbian-specific code from tests. 2011-09-29 06:41:42 +02:00
platformquirks.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qtextbrowser.html Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
solutions.pri Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
test.pl Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
v8.pro Make sure tests/auto/v8.pro doesn't clobber auto.pro 2011-08-31 01:17:39 +02:00