Go to file
Bradley T. Hughes 992a37234c Don't crash by modifying read-only shared_null
Functions that modify the d-pointer must detach or otherwise take
measures to not modify the const, read-only shared_null.

The setSharable(bool) function takes care to detach when setting
sharable to false, but should avoid setting the sharable data member
unless d is not the shared null.

Similarly, QMap<Key, T>::setInsertInOrder() needs to detach if it is
shared with the shared_null (the logic has been updated to be the same
as setSharable()).

Change-Id: Ida5cb9818b86695f1b9f0264418b955c56424898
Reviewed-on: http://codereview.qt-project.org/5929
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-10-04 11:21:25 +02:00
bin Merge branch 'refactor' 2011-09-13 08:54:45 +02:00
config.profiles Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
config.tests Fix warning caused by putting .mm files in SOURCES 2011-09-26 16:05:36 +02:00
dist Rename Qt::escape to QString::toHtmlEscaped, add compat method 2011-09-29 15:22:07 +02:00
doc/src Rename Qt::escape to QString::toHtmlEscaped, add compat method 2011-09-29 15:22:07 +02:00
examples Get rid of the last traces of QMimeSource 2011-09-29 08:54:06 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Remove stale QtDeclarative dependency on QtOpenGL 2011-09-20 19:18:19 +02:00
qmake Merge branch 'refactor' 2011-09-13 08:54:45 +02:00
src Don't crash by modifying read-only shared_null 2011-10-04 11:21:25 +02:00
tests Don't crash by modifying read-only shared_null 2011-10-04 11:21:25 +02:00
tools Ensure build_all is propagated to all modules when appropriate. 2011-09-15 01:03:11 +02:00
util Move the documentation for the classes to their modules. 2011-10-03 09:56:09 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Update .gitignore 2011-10-03 05:58:44 +02:00
.gitmodules Add QtV8 library to QtBase 2011-08-29 10:16:01 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Remove the remaining traces of QT3_SUPPORT 2011-10-03 05:59:07 +02:00
configure.exe New configure.exe binary 2011-09-05 08:55:31 +02:00
header.BSD Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
header.FDL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL-ONLY Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
INSTALL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02: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.LGPL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Fix make confclean 2011-09-12 16:03:47 +02:00
sync.profile Remove uilib and QtUiTools from QtBase 2011-09-13 20:11:40 +02:00