diff --git a/ApplicationCode/UserInterface/RiuMainWindow.cpp b/ApplicationCode/UserInterface/RiuMainWindow.cpp index bf87b2f778..7bbeec48c2 100644 --- a/ApplicationCode/UserInterface/RiuMainWindow.cpp +++ b/ApplicationCode/UserInterface/RiuMainWindow.cpp @@ -1657,11 +1657,11 @@ void RiuMainWindow::slotImportWellPathsFromSSIHub() wellPathsFolderPath += "/" + wellPathFolderName; - RimWellPathImport* copyOfWellPathImport = dynamic_cast(app->project()->wellPathImport->deepCopy()); - RiuWellImportWizard wellImportwizard(app->preferences()->ssihubAddress, wellPathsFolderPath, copyOfWellPathImport, this); - + + RimWellPathImport* wellPathObjectToBeDeleted = NULL; + // Get password/username from application cache { QString ssihubUsername = app->cacheDataObject("ssihub_username").toString(); @@ -1679,11 +1679,18 @@ void RiuMainWindow::slotImportWellPathsFromSSIHub() app->project()->createDisplayModelAndRedrawAllViews(); } + wellPathObjectToBeDeleted = app->project()->wellPathImport; app->project()->wellPathImport = copyOfWellPathImport; app->setCacheDataObject("ssihub_username", wellImportwizard.field("username")); app->setCacheDataObject("ssihub_password", wellImportwizard.field("password")); } + else + { + wellPathObjectToBeDeleted = copyOfWellPathImport; + } + + delete wellPathObjectToBeDeleted; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp b/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp index 3630b45aa2..fa61910c5b 100644 --- a/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp +++ b/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.cpp @@ -48,6 +48,14 @@ RimOilFieldEntry::RimOilFieldEntry() CAF_PDM_InitFieldNoDefault(&wells, "Wells", "", "", "", ""); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimOilFieldEntry::~RimOilFieldEntry() +{ + wells.deleteAllChildObjects(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -116,4 +124,3 @@ RimWellPathEntry* RimOilFieldEntry::find(const QString& name, RimWellPathEntry:: return NULL; } - diff --git a/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.h b/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.h index 9692521882..b15770391a 100644 --- a/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.h +++ b/ApplicationCode/WellPathImportSsihub/RimOilFieldEntry.h @@ -31,6 +31,7 @@ class RimOilFieldEntry : public caf::PdmObject public: RimOilFieldEntry(); + ~RimOilFieldEntry(); caf::PdmField name; diff --git a/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.cpp b/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.cpp index d0f5893347..23482ddc9c 100644 --- a/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.cpp +++ b/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.cpp @@ -38,6 +38,14 @@ RimOilRegionEntry::RimOilRegionEntry() } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimOilRegionEntry::~RimOilRegionEntry() +{ + fields.deleteAllChildObjects(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -77,5 +85,3 @@ void RimOilRegionEntry::updateState() } } - - diff --git a/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.h b/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.h index db0ed686d4..da0db5d294 100644 --- a/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.h +++ b/ApplicationCode/WellPathImportSsihub/RimOilRegionEntry.h @@ -32,6 +32,7 @@ class RimOilRegionEntry : public caf::PdmObject public: RimOilRegionEntry(); + ~RimOilRegionEntry(); virtual caf::PdmFieldHandle* userDescriptionField(); virtual caf::PdmFieldHandle* objectToggleField(); diff --git a/ApplicationCode/WellPathImportSsihub/RimWellPathImport.cpp b/ApplicationCode/WellPathImportSsihub/RimWellPathImport.cpp index a5f17403e4..c61bd32e1f 100644 --- a/ApplicationCode/WellPathImportSsihub/RimWellPathImport.cpp +++ b/ApplicationCode/WellPathImportSsihub/RimWellPathImport.cpp @@ -201,5 +201,13 @@ void RimWellPathImport::defineObjectEditorAttribute(QString uiConfigName, caf::P } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimWellPathImport::~RimWellPathImport() +{ + regions.deleteAllChildObjects(); +} + diff --git a/ApplicationCode/WellPathImportSsihub/RimWellPathImport.h b/ApplicationCode/WellPathImportSsihub/RimWellPathImport.h index d74b055552..840ce6dcf9 100644 --- a/ApplicationCode/WellPathImportSsihub/RimWellPathImport.h +++ b/ApplicationCode/WellPathImportSsihub/RimWellPathImport.h @@ -41,6 +41,7 @@ public: public: RimWellPathImport(); + ~RimWellPathImport(); caf::PdmField wellTypeSurvey; caf::PdmField wellTypePlans;