aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/jsruntime/qv4executableallocator_p.h5
-rw-r--r--src/qml/jsruntime/qv4vme_moth.cpp2
-rw-r--r--src/qml/qml/ftw/qqmlthread.cpp3
-rw-r--r--src/qml/qml/qqmlimport.cpp1
-rw-r--r--src/qml/qml/qqmltypeloader.cpp3
-rw-r--r--src/qml/qtqmlglobal.h4
-rw-r--r--src/qml/util/qqmlchangeset.cpp2
7 files changed, 9 insertions, 11 deletions
diff --git a/src/qml/jsruntime/qv4executableallocator_p.h b/src/qml/jsruntime/qv4executableallocator_p.h
index 19eaed8723..375c9a365f 100644
--- a/src/qml/jsruntime/qv4executableallocator_p.h
+++ b/src/qml/jsruntime/qv4executableallocator_p.h
@@ -100,14 +100,9 @@ public:
bool mergeNext(ExecutableAllocator *allocator);
bool mergePrevious(ExecutableAllocator *allocator);
-#ifndef QT_NO_BITFIELDS
quintptr addr = 0;
uint size : 31; // More than 2GB of function code? nah :)
uint free : 1;
-#else
- uint size = 31; // More than 2GB of function code? nah :)
- uint free = 1;
-#endif
Allocation *next = nullptr;
Allocation *prev = nullptr;
};
diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp
index fe7c2bd654..a1f5b01fa9 100644
--- a/src/qml/jsruntime/qv4vme_moth.cpp
+++ b/src/qml/jsruntime/qv4vme_moth.cpp
@@ -995,7 +995,7 @@ QV4::ReturnedValue VME::exec(const FunctionObject *fo, const QV4::Value *thisObj
MOTH_BEGIN_INSTR(Construct)
STORE_IP();
- acc = Runtime::method_construct(engine, STACK_VALUE(func), stack + argv, argc);
+ acc = Runtime::method_construct(engine, STACK_VALUE(func), stack + argv, argc);
CHECK_EXCEPTION;
MOTH_END_INSTR(Construct)
diff --git a/src/qml/qml/ftw/qqmlthread.cpp b/src/qml/qml/ftw/qqmlthread.cpp
index cffa1b64b0..c0d104fb1f 100644
--- a/src/qml/qml/ftw/qqmlthread.cpp
+++ b/src/qml/qml/ftw/qqmlthread.cpp
@@ -322,7 +322,6 @@ void QQmlThread::internalCallMethodInThread(Message *message)
bool wasEmpty = d->threadList.isEmpty();
d->threadList.append(message);
-
if (wasEmpty && d->m_threadProcessing == false)
d->triggerThreadEvent();
@@ -404,7 +403,9 @@ void QQmlThread::waitForNextMessage()
Q_ASSERT(!isThisThread());
d->lock();
Q_ASSERT(d->m_mainThreadWaiting == false);
+
d->m_mainThreadWaiting = true;
+
if (d->mainSync || !d->threadList.isEmpty()) {
if (d->mainSync) {
QQmlThread::Message *message = d->mainSync;
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index fe7e5d5a33..bfbfd2e76a 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -1280,6 +1280,7 @@ bool QQmlImportsPrivate::locateQmldir(const QString &uri, int vmaj, int vmin, QQ
QQmlAbstractUrlInterceptor *interceptor = typeLoader.engine()->urlInterceptor();
QStringList localImportPaths = database->importPathList(
interceptor ? QQmlImportDatabase::LocalOrRemote : QQmlImportDatabase::Local);
+
// Search local import paths for a matching version
const QStringList qmlDirPaths = QQmlImports::completeQmldirPaths(uri, localImportPaths, vmaj, vmin);
for (QString qmldirPath : qmlDirPaths) {
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
index f4c612b187..1936030666 100644
--- a/src/qml/qml/qqmltypeloader.cpp
+++ b/src/qml/qml/qqmltypeloader.cpp
@@ -1044,6 +1044,8 @@ void QQmlTypeLoader::doLoad(const Loader &loader, QQmlDataBlob *blob, Mode mode)
qWarning("QQmlTypeLoader::doLoad(%s): %s thread", qPrintable(blob->urlString()),
m_thread->isThisThread()?"Compile":"Engine");
#endif
+ blob->startLoading();
+
if (m_thread->isThisThread()) {
unlock();
loader.loadThread(this, blob);
@@ -1692,6 +1694,7 @@ QQmlTypeData *QQmlTypeLoader::getType(const QUrl &unNormalizedUrl, Mode mode)
} else if ((mode == PreferSynchronous || mode == Synchronous) && QQmlFile::isSynchronous(url)) {
// this was started Asynchronous, but we need to force Synchronous
// completion now (if at all possible with this type of URL).
+
if (!m_thread->isThisThread()) {
// this only works when called directly from the UI thread, but not
// when recursively called on the QML thread via resolveTypes()
diff --git a/src/qml/qtqmlglobal.h b/src/qml/qtqmlglobal.h
index f22eb54c43..0ce76d62b8 100644
--- a/src/qml/qtqmlglobal.h
+++ b/src/qml/qtqmlglobal.h
@@ -51,9 +51,9 @@
# include <QtNetwork/qtnetworkglobal.h>
# endif
#else
-//#ifndef QT_FEATURE_qml_debug
+#ifndef QT_FEATURE_qml_debug
# define QT_FEATURE_qml_debug -1
-//#endif
+#endif
#endif
QT_BEGIN_NAMESPACE
diff --git a/src/qml/util/qqmlchangeset.cpp b/src/qml/util/qqmlchangeset.cpp
index 561bde7d0c..ba876b42e2 100644
--- a/src/qml/util/qqmlchangeset.cpp
+++ b/src/qml/util/qqmlchangeset.cpp
@@ -68,7 +68,6 @@ QT_BEGIN_NAMESPACE
QQmlChangeSet::QQmlChangeSet()
: m_difference(0)
{
- qRegisterMetaType<QQmlChangeSet >("QQmlChangeSet");
}
/*!
@@ -81,7 +80,6 @@ QQmlChangeSet::QQmlChangeSet(const QQmlChangeSet &changeSet)
, m_changes(changeSet.m_changes)
, m_difference(changeSet.m_difference)
{
- qRegisterMetaType<QQmlChangeSet >("QQmlChangeSet");
}
/*!