QNX: Work around dlclose issue

"Shared objects still referenced" dlerror should actually be treated as
"for your information" only, not as an actual error.

Change-Id: Ie02bd1db0dd2dc93bb759f8b6c7e825070e17bb9
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
bb10
Bernd Weimer 2014-04-08 09:38:28 +02:00 committed by The Qt Project
parent db14f5fd60
commit 4af257eb3c
1 changed files with 8 additions and 0 deletions

View File

@ -273,7 +273,15 @@ bool QLibraryPrivate::unload_sys()
# else
if (dlclose(pHnd)) {
# endif
# if defined (Q_OS_QNX) // Workaround until fixed in QNX; fixes crash in
char *error = dlerror(); // QtDeclarative auto test "qqmlenginecleanup" for instance
if (!qstrcmp(error, "Shared objects still referenced")) // On QNX that's only "informative"
return true;
errorString = QLibrary::tr("Cannot unload library %1: %2").arg(fileName)
.arg(QLatin1String(error));
# else
errorString = QLibrary::tr("Cannot unload library %1: %2").arg(fileName).arg(qdlerror());
# endif
return false;
}
#endif