Go to file
Olivier Goffart 6c984d6c15 "Fix" the crash at startup on MSVC
The problem is that for some reasons, QByteArray::shared_null (and
probably shared_empty, and the ones for QString) are not in the .rodata
anymore, and they are initialized by code.
programs like QMake, which has others global objects (like global
QFiles) that uses QByteArray crashes, because they reference and
dereference shared_null (and try to destroy shared_null)
That happens before shared_null's refcount is initialized to -1

The solution here is not to ref() the objects that have a refcount of 0
(that is what the refcount is before it is initialized to -1)

The real fix to this problem would be to understand why it is not in the
proper section, and make sure it is.

Change-Id: I5b7e966ed4c460b90dba70855f4dc50685dff97f
Reviewed-on: http://codereview.qt.nokia.com/1712
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-15 18:46:50 +02:00
bin Implemented module-local caching of module profiles. 2011-06-03 22:20:40 +02:00
config.profiles Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
config.tests Fixed opengldesktop configure test for mac. 2011-07-05 05:17:35 +02:00
dist Revert "make QChar::Unicode_Unassigned a constantly big value" 2011-07-15 09:49:52 +02:00
doc/src Remove more references to demos. 2011-07-08 15:36:26 +02:00
examples drop an obsolete QChar::NoCategory enum value 2011-07-13 13:31:13 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs fix misnomer: $$resolve_depends() => $$sort_depends() 2011-07-11 18:58:41 +02:00
qmake fix access to free()d memory 2011-07-15 16:00:06 +02:00
src "Fix" the crash at startup on MSVC 2011-07-15 18:46:50 +02:00
tests Skip boundry neutral characters in bidi itemization 2011-07-14 11:21:55 +02:00
tools Always assume IPv6 support 2011-07-04 14:32:41 +02:00
util drop an obsolete QChar::NoCategory enum value 2011-07-13 13:31:13 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Add QT_xxx_VERSION macros for each library in qtbase 2011-05-10 15:15:15 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Always assume IPv6 support 2011-07-04 14:32:41 +02:00
configure.exe New configure.exe binary 2011-05-23 09:24:19 -05: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 Remove all references to demos. 2011-06-23 14:03:31 +02:00
sync.profile Update sync.profile dependencies to new syntax 2011-07-07 12:30:00 +02:00