Merge branch 'master' into qtquick2
authorAlan Alpert <alan.alpert@nokia.com>
Mon, 6 Jun 2011 05:19:50 +0000 (15:19 +1000)
committerAlan Alpert <alan.alpert@nokia.com>
Mon, 6 Jun 2011 05:19:50 +0000 (15:19 +1000)
Conflicts:
src/declarative/graphicsitems/qdeclarativetextinput.cpp
src/declarative/qml/qdeclarativeengine.cpp

1  2 
src/declarative/debugger/qdeclarativedebugserver.cpp
src/declarative/declarative.pro
src/declarative/graphicsitems/qdeclarativetextinput_p_p.h
src/declarative/qml/qdeclarativeengine.cpp
src/declarative/qml/qdeclarativeengine_p.h
src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp
src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h
sync.profile

Simple merge
@@@ -656,23 -647,9 +658,24 @@@ QDeclarativeEngine::QDeclarativeEngine(
  QDeclarativeEngine::~QDeclarativeEngine()
  {
      Q_D(QDeclarativeEngine);
-     if (d->isDebugging)
+     if (d->isDebugging) {
          QDeclarativeEngineDebugServer::instance()->remEngine(this);
 -        QJSDebugService::instance()->removeEngine(this);
++    }
 +
 +    // if we are the parent of any of the qobject module api instances,
 +    // we need to remove them from our internal list, in order to prevent
 +    // a segfault in engine private dtor.
 +    QList<QDeclarativeMetaType::ModuleApi> keys = d->moduleApiInstances.keys();
 +    QObject *currQObjectApi = 0;
 +    QDeclarativeMetaType::ModuleApiInstance *currInstance = 0;
 +    foreach (const QDeclarativeMetaType::ModuleApi &key, keys) {
 +        currInstance = d->moduleApiInstances.value(key);
 +        currQObjectApi = currInstance->qobjectApi;
 +        if (this->children().contains(currQObjectApi)) {
 +            delete currQObjectApi;
 +            delete currInstance;
 +            d->moduleApiInstances.remove(key);
 +        }
      }
  }
  
@@@ -94,11 -93,8 +94,10 @@@ class QDeclarativeExpression
  class QDeclarativeContextScriptClass;
  class QDeclarativeImportDatabase;
  class QDeclarativeObjectScriptClass;
 +class QDeclarativeScarceResourceScriptClass;
 +class ScarceResourceData;
  class QDeclarativeTypeNameScriptClass;
  class QDeclarativeValueTypeScriptClass;
- class QScriptEngineDebugger;
  class QNetworkReply;
  class QNetworkAccessManager;
  class QDeclarativeNetworkAccessManagerFactory;
diff --cc sync.profile
Simple merge