From 016cdad413c878be9c669398cd707ff5d1d98255 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Wed, 6 Nov 2013 12:45:23 +0100 Subject: Restart on the wizard needs to cleanup component left-overs - use two different script engine instances - one which lives from the beginning -> the controlScriptEngine - the other one which will be reset if there are some new repositories loaded - now the core has a pointer to the gui object, but it should only be used by the script engine so a QObject type should be enough - engines are deleted as QObject children from the PackageManagerCore - registered downloaded archives are removed Change-Id: I60a4a32fb2e409059839ec11b10c57357454f57a Reviewed-by: Michal Klocek Reviewed-by: Karsten Heimrich --- src/libs/installer/packagemanagercore_p.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/libs/installer/packagemanagercore_p.h') diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h index 445235a0d..a6b9d4438 100644 --- a/src/libs/installer/packagemanagercore_p.h +++ b/src/libs/installer/packagemanagercore_p.h @@ -135,7 +135,10 @@ public: bool buildComponentTree(QHash &components, bool loadScript); - ScriptEngine *scriptEngine(); + void cleanUpComponentEnvironment(); + ScriptEngine *componentScriptEngine() const; + ScriptEngine *controlScriptEngine() const; + void clearAllComponentLists(); void clearUpdaterComponentLists(); QList &replacementDependencyComponents(); @@ -263,7 +266,8 @@ private: qint64 m_magicBinaryMarker; bool m_componentsToInstallCalculated; - ScriptEngine *m_scriptEngine; + mutable ScriptEngine *m_componentScriptEngine; + mutable ScriptEngine *m_controlScriptEngine; // < name (component to replace), < replacement component, component to replace > > QHash > m_componentsToReplaceAllMode; QHash > m_componentsToReplaceUpdaterMode; @@ -285,6 +289,8 @@ private: ComponentModel *m_defaultModel; ComponentModel *m_updaterModel; + QObject *m_guiObject; + private: // remove once we deprecate isSelected, setSelected etc... void resetComponentsToUserCheckedState(); -- cgit v1.2.3