Merge remote-tracking branch 'origin/5.4' into 5.5
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Tue, 24 Feb 2015 16:36:04 +0000 (17:36 +0100)
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Tue, 24 Feb 2015 16:36:04 +0000 (17:36 +0100)
Conflicts:
.qmake.conf
LICENSE.GPLv2
examples/qml/networkaccessmanagerfactory/view.qml
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4stringobject.cpp

Change-Id: I5d12f436d60995e51d5c2f59d364e9cbc24f8e32

47 files changed:
1  2 
examples/qml/networkaccessmanagerfactory/view.qml
examples/quick/demos/maroon/doc/src/maroon.qdoc
examples/quick/demos/photoviewer/doc/src/photoviewer.qdoc
src/imports/statemachine/state.cpp
src/qml/compiler/qv4isel_p.cpp
src/qml/doc/src/qmllanguageref/syntax/objectattributes.qdoc
src/qml/doc/src/qmllanguageref/syntax/signals.qdoc
src/qml/doc/src/qmllanguageref/typesystem/basictypes.qdoc
src/qml/doc/src/whatsnew.qdoc
src/qml/jit/qv4regalloc.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4globalobject.cpp
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4stringobject.cpp
src/qml/qml/qqmlengine.cpp
src/qml/qml/qqmltypeloader.cpp
src/qml/types/qqmldelegatemodel.cpp
src/qml/types/qqmltimer.cpp
src/qml/types/qquickpackage.cpp
src/qmltest/quicktest.cpp
src/quick/doc/src/concepts/effects/sprites.qdoc
src/quick/doc/src/concepts/input/focus.qdoc
src/quick/doc/src/dynamicview-tutorial.qdoc
src/quick/doc/src/whatsnew.qdoc
src/quick/items/context2d/qquickcanvasitem.cpp
src/quick/items/qquickaccessibleattached.cpp
src/quick/items/qquickdrag.cpp
src/quick/items/qquickimagebase.cpp
src/quick/items/qquickitem.cpp
src/quick/items/qquickmousearea.cpp
src/quick/items/qquickscreen.cpp
src/quick/items/qquickscreen_p.h
src/quick/items/qquicktext.cpp
src/quick/items/qquicktextinput.cpp
src/quick/items/qquicktextnodeengine.cpp
src/quick/items/qquickwindow.cpp
src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
src/quick/scenegraph/util/qsgtexture.cpp
src/quick/util/qquickfontmetrics.cpp
src/quick/util/qquickimageprovider.cpp
src/quick/util/qquicktextmetrics.cpp
tests/auto/qml/qjsengine/tst_qjsengine.cpp
tests/auto/qml/qqmltimer/tst_qqmltimer.cpp
tests/auto/quick/nodes/tst_nodestest.cpp
tests/auto/quick/qquickitemlayer/tst_qquickitemlayer.cpp
tests/auto/quick/qquicktext/tst_qquicktext.cpp
tests/auto/quick/scenegraph/tst_scenegraph.cpp

Simple merge
Simple merge
Simple merge
  **
  ****************************************************************************/
  
 +#include <QtCore/QBuffer>
 +#include <QtCore/QDebug>
  #include "qv4regalloc_p.h"
+ #include "qv4alloca_p.h"
  #include <private/qv4value_inl_p.h>
  
  #include <algorithm>
Simple merge
Simple merge
@@@ -1002,12 -958,12 +1002,12 @@@ ReturnedValue Runtime::callElement(Exec
      return o->call(callData);
  }
  
 -ReturnedValue Runtime::callValue(ExecutionContext *context, const ValueRef func, CallData *callData)
 +ReturnedValue Runtime::callValue(ExecutionEngine *engine, const Value &func, CallData *callData)
  {
 -    if (!func->isObject())
 -        return context->throwTypeError(QStringLiteral("%1 is not a function").arg(func->toQStringNoThrow()));
 +    if (!func.isObject())
-         return engine->throwTypeError();
++        return engine->throwTypeError(QStringLiteral("%1 is not a function").arg(func.toQStringNoThrow()));
  
 -    return func->objectValue()->call(callData);
 +    return func.objectValue()->call(callData);
  }
  
  
  #include "qv4objectproto_p.h"
  #include "qv4mm_p.h"
  #include "qv4scopedvalue_p.h"
+ #include "qv4alloca_p.h"
 -#include <QtCore/qnumeric.h>
 -#include <QtCore/qmath.h>
  #include <QtCore/QDateTime>
 -#include <QtCore/QStringList>
  #include <QtCore/QDebug>
 -#include <cmath>
 -#include <qmath.h>
 -#include <qnumeric.h>
 -#include <cassert>
 +#include <QtCore/QStringList>
  
  #include <private/qqmljsengine_p.h>
  #include <private/qqmljslexer_p.h>
Simple merge
@@@ -883,20 -887,37 +883,23 @@@ one of these three preconditions are me
  Thus QQmlDataBlob::done() will always eventually be called, even if the blob has an error set.
  */
  
 -/*!
 -Create a new QQmlDataLoader for \a engine.
 -*/
 -QQmlDataLoader::QQmlDataLoader(QQmlEngine *engine)
 -: m_engine(engine), m_thread(new QQmlDataLoaderThread(this))
 -{
 -}
 -
 -/*! \internal */
 -QQmlDataLoader::~QQmlDataLoader()
 -{
 -    invalidate();
 -}
 -
 -void QQmlDataLoader::invalidate()
 +void QQmlTypeLoader::invalidate()
  {
-     for (NetworkReplies::Iterator iter = m_networkReplies.begin(); iter != m_networkReplies.end(); ++iter)
-         (*iter)->release();
-     m_networkReplies.clear();
      if (m_thread) {
          shutdownThread();
          delete m_thread;
          m_thread = 0;
      }
+     // Need to delete the network replies after
+     // the loader thread is shutdown as it could be
+     // getting new replies while we clear them
+     for (NetworkReplies::Iterator iter = m_networkReplies.begin(); iter != m_networkReplies.end(); ++iter)
+         (*iter)->release();
+     m_networkReplies.clear();
  }
  
 -void QQmlDataLoader::lock()
 +void QQmlTypeLoader::lock()
  {
      m_thread->lock();
  }
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge