From 85de91b6b32e8f4e3bf2bee367f1ebe92f4b1c52 Mon Sep 17 00:00:00 2001 From: Guido Ranzuglia granzuglia Date: Fri, 25 Nov 2011 17:46:00 +0000 Subject: [PATCH] added new feature to editor and removed a first bug on MeshState (should be present another one) --- src/common/pluginmanager.cpp | 8 +++++--- src/common/scriptinterface.cpp | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/common/pluginmanager.cpp b/src/common/pluginmanager.cpp index fd20fe8a1..e07804822 100644 --- a/src/common/pluginmanager.cpp +++ b/src/common/pluginmanager.cpp @@ -322,19 +322,21 @@ void PluginManager::loadXMLPlugin( const QString& fileName ) QString pname = pluginfo->pluginScriptName(); if (pname != "") { - pluginnamespaces << pname; + QString plugnamespace = pluginNameSpace() + "." + pname; + pluginnamespaces << plugnamespace; scriptplugcode += pluginNameSpace() + "." + pname + " = { };\n"; QStringList filters = pluginfo->filterNames(); foreach(QString filter,filters) { + QString completename = plugnamespace; fc.act = new QAction(filter,par); stringXMLFilterMap.insert(filter,fc); QString filterFunction = pluginfo->filterScriptCode(filter); if (filterFunction == "") filterFunction = gen.funCodeGenerator(filter,*pluginfo); QString jname = pluginfo->filterAttribute(filter,MLXMLElNames::filterScriptFunctName); - QString completename = pluginNameSpace() + "." + pname + "." + jname; - filterscriptnames << jname; + completename += "." + jname; + filterscriptnames << completename; scriptplugcode += completename + " = " + filterFunction + "\n"; completename += "(" + gen.parNames(filter,*pluginfo) + ")"; filtersign << completename; diff --git a/src/common/scriptinterface.cpp b/src/common/scriptinterface.cpp index 4406ded2e..d17fa50bc 100644 --- a/src/common/scriptinterface.cpp +++ b/src/common/scriptinterface.cpp @@ -337,7 +337,9 @@ Q_INVOKABLE int MeshDocumentSI::currentId() Q_INVOKABLE int MeshDocumentSI::setCurrent(const int meshId) { - int id = md->mm()->id(); + int id = -1; + if (md->mm() != NULL) + id = md->mm()->id(); if (md->getMesh(meshId) != NULL) { md->setCurrentMesh(meshId);