Fix some Xcos coverity issues 19/19319/1
Clément DAVID [Fri, 30 Jun 2017 08:03:20 +0000 (10:03 +0200)]
Change-Id: Ie6322f3dfbc2f71d886566a62f092288ac1f7760

scilab/modules/scicos/src/cpp/Model.cpp
scilab/modules/scicos/src/cpp/XMIResource.cpp
scilab/modules/scicos/src/cpp/view_scilab/BaseAdapter.hxx

index c12aeb0..e9e28f2 100644 (file)
@@ -178,7 +178,9 @@ void Model::deleteObject(ScicosID uid)
     objects_map_t::iterator iter = allObjects.find(uid);
     if (iter == allObjects.end())
     {
-        throw std::string("key has not been found");
+        // throw std::string("key has not been found");
+        // but will probably crash Scilab, fallback to safety
+        return;
     }
 
     model::BaseObject* modelObject = iter->second;
index 0c8ff82..4f02f87 100644 (file)
@@ -19,7 +19,7 @@ extern "C" {
 namespace org_scilab_modules_scicos
 {
 
-XMIResource::XMIResource(ScicosID id) : controller(), root(id), processed(), parent(NB_XCOS_NAMES), references()
+XMIResource::XMIResource(ScicosID id) : controller(), root(id), processed(), parent(NB_XCOS_NAMES), references(), constXcosNames(), xcosNamespaceUri(), xsiNamespaceUri()
 {
     references.insert(std::make_pair("/", id));
 
index 1eb67bb..8349fab 100644 (file)
@@ -67,7 +67,10 @@ public:
 
 
     property(const std::wstring& prop, getter_t g, setter_t s) : original_index(fields.size()), name(prop), get(g), set(s) {};
+    property(const property& p) = default;
     ~property() {};
+    property(property&& p) = default;
+    property<Adaptor>& operator= (property<Adaptor>&&) = default;
 
     size_t original_index;
     std::wstring name;