uic & rcc: use the public API to set the hash seed
Instead of relying on a private symbol exported from QtCore. Task-number: QTBUG-47566 Change-Id: I4a7dc1fe14154695b968fffd14abd2b21a18203b Reviewed-by: David Faure <david.faure@kdab.com>bb10
parent
5e18f4ce0b
commit
fb061e586d
|
|
@ -32,6 +32,7 @@
|
|||
#include <qdir.h>
|
||||
#include <qfile.h>
|
||||
#include <qfileinfo.h>
|
||||
#include <qhashfunctions.h>
|
||||
#include <qtextstream.h>
|
||||
#include <qatomic.h>
|
||||
#include <qglobal.h>
|
||||
|
|
@ -312,16 +313,17 @@ int runRcc(int argc, char *argv[])
|
|||
return 0;
|
||||
}
|
||||
|
||||
Q_CORE_EXPORT extern QBasicAtomicInt qt_qhash_seed; // from qhash.cpp
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// rcc uses a QHash to store files in the resource system.
|
||||
// we must force a certain hash order when testing or tst_rcc will fail, see QTBUG-25078
|
||||
if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QT_RCC_TEST") && !qt_qhash_seed.testAndSetRelaxed(-1, 0)))
|
||||
qFatal("Cannot force QHash seed for testing as requested");
|
||||
if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QT_RCC_TEST"))) {
|
||||
qSetGlobalQHashSeed(0);
|
||||
if (qGlobalQHashSeed() != 0)
|
||||
qFatal("Cannot force QHash seed for testing as requested");
|
||||
}
|
||||
|
||||
return QT_PREPEND_NAMESPACE(runRcc)(argc, argv);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
|
||||
#include <qfile.h>
|
||||
#include <qdir.h>
|
||||
#include <qhashfunctions.h>
|
||||
#include <qtextstream.h>
|
||||
#include <qtextcodec.h>
|
||||
#include <qcoreapplication.h>
|
||||
|
|
@ -39,11 +40,10 @@
|
|||
#include <qcommandlineparser.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
extern Q_CORE_EXPORT QBasicAtomicInt qt_qhash_seed;
|
||||
|
||||
int runUic(int argc, char *argv[])
|
||||
{
|
||||
qt_qhash_seed.testAndSetRelaxed(-1, 0); // set the hash seed to 0 if it wasn't set yet
|
||||
qSetGlobalQHashSeed(0); // set the hash seed to 0
|
||||
|
||||
QCoreApplication app(argc, argv);
|
||||
QCoreApplication::setApplicationVersion(QString::fromLatin1(QT_VERSION_STR));
|
||||
|
|
|
|||
Loading…
Reference in New Issue