From 8b5cdc20be5df287f61fce25998bb5dc4bcf73fb Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 3 Jul 2015 22:32:50 +0200 Subject: QProcessEnvironment: fix op== Not all empty states were considered equal. [ChangeLog][QtCore][QProcessEnvironment] Fixed a bug in operator== involving different empty states. Change-Id: I13c3200897847475bde2f963db0d2c587336b8a7 Reviewed-by: Olivier Goffart (Woboq GmbH) Reviewed-by: Thiago Macieira --- src/corelib/io/qprocess.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/corelib/io/qprocess.cpp') diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index 218e8b959cd..8a1fda6ccbe 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -264,11 +264,16 @@ bool QProcessEnvironment::operator==(const QProcessEnvironment &other) const { if (d == other.d) return true; - if (d && other.d) { - QProcessEnvironmentPrivate::OrderedMutexLocker locker(d, other.d); - return d->hash == other.d->hash; + if (d) { + if (other.d) { + QProcessEnvironmentPrivate::OrderedMutexLocker locker(d, other.d); + return d->hash == other.d->hash; + } else { + return isEmpty(); + } + } else { + return other.isEmpty(); } - return false; } /*! -- cgit v1.2.3