Go to file
Marc Mutz 6f145707eb QString::from{Utf8,Latin1,Local8Bit}(QByteArray): preserve nullness of argument
Currently, calling these functions with a null QByteArray will return
a non-null QString because QByteArray::data() never returns nullptr.

This behavior leads to inconsistencies between QString::append overloads,
in particular the QByteArray vs. all others (null + null test always
returns a null QString, except for the QByteArray overload before this
change).

It also is inconsistent with the const char* overloads of these methods,
which explicitly preserve nullness (as verified by test cases).

Fixed by an explicit check for nullness and return of null QString.

Alternative would have been to check for nullness and pass nullptr
instead of ba.data() to the _helper() functions, which do the correct
thing in that case. But since we'd have the check anyway and with the
chosen strategy we can avoid a call to a non-inline method, I opted
against that.

[ChangeLog][QtCore][QString] fromLatin1(), fromAscii(), fromUtf8() and
fromLocal8Bit() now return a null QString when called with a null
QByteArray.

Change-Id: I5f2c0bad27fb73c7d535085af0271823bf6ed1da
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-02 19:28:18 +00:00
bin Fixed license headers 2015-02-17 18:46:09 +00:00
config.tests Introduce icu_dependency.pri 2015-03-20 18:12:04 +00:00
dist Replace old qt-project.org wiki with wiki.qt.io 2015-02-27 09:27:13 +00:00
doc Doc: Update URLs 2015-03-25 10:33:37 +00:00
examples Add QRegularExpression based regexp tool 2015-04-02 13:19:30 +00:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs testlib: Don't limit linking to XCTest to Xcode projects 2015-03-30 13:26:58 +00:00
qmake Add XCTest logger backend to QtTestLib 2015-03-27 16:53:43 +00:00
src QString::from{Utf8,Latin1,Local8Bit}(QByteArray): preserve nullness of argument 2015-04-02 19:28:18 +00:00
tests QString::from{Utf8,Latin1,Local8Bit}(QByteArray): preserve nullness of argument 2015-04-02 19:28:18 +00:00
tools configure: take XQMAKESPEC into account when looking for files. 2015-03-26 21:15:22 +00:00
util Re-generate the time zones database from CLDR v.27 2015-03-27 16:40:28 +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 don't print "progress bar" when stdout is no tty 2015-03-27 13:29:53 +00:00
configure.bat support spaces in build and install dirs 2015-02-17 18:28:00 +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 remove nonsensical claim about contains() 2014-11-13 14:33:16 +01:00
sync.profile ANGLE: upgrade to 2.1~07d49ef5350a 2014-08-05 16:43:22 +02:00