diff --git a/ApplicationLibCode/Application/RiaApplication.cpp b/ApplicationLibCode/Application/RiaApplication.cpp index f3c2e9166a..976d519475 100644 --- a/ApplicationLibCode/Application/RiaApplication.cpp +++ b/ApplicationLibCode/Application/RiaApplication.cpp @@ -174,6 +174,7 @@ RiaApplication::RiaApplication() m_commandRouter = std::make_unique(); m_osduConnector = nullptr; + m_sumoConnector = nullptr; } //-------------------------------------------------------------------------------------------------- @@ -184,6 +185,16 @@ RiaApplication::~RiaApplication() RiaFontCache::clear(); caf::SelectionManager::instance()->setPdmRootObject( nullptr ); + + m_project.reset(); + + delete m_osduConnector.data(); + m_osduConnector.clear(); + m_osduConnector = nullptr; + + delete m_sumoConnector.data(); + m_sumoConnector.clear(); + m_sumoConnector = nullptr; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaGuiApplication.cpp b/ApplicationLibCode/Application/RiaGuiApplication.cpp index b08fa79e4a..fa54439c78 100644 --- a/ApplicationLibCode/Application/RiaGuiApplication.cpp +++ b/ApplicationLibCode/Application/RiaGuiApplication.cpp @@ -190,7 +190,10 @@ RiaGuiApplication::RiaGuiApplication( int& argc, char** argv ) //-------------------------------------------------------------------------------------------------- RiaGuiApplication::~RiaGuiApplication() { + delete m_mainWindow.data(); m_mainWindow.clear(); + + m_mainPlotWindow.reset(); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/Rim3dView.cpp b/ApplicationLibCode/ProjectDataModel/Rim3dView.cpp index b48917ba63..9aa90a641f 100644 --- a/ApplicationLibCode/ProjectDataModel/Rim3dView.cpp +++ b/ApplicationLibCode/ProjectDataModel/Rim3dView.cpp @@ -180,7 +180,7 @@ Rim3dView::Rim3dView() // Every timer tick, send a signal for updating animations. // Any animation is supposed to connect to this signal // in order to having only one central animation driver. - m_animationTimer = std::make_unique( new QTimer() ); + m_animationTimer = std::make_unique(); m_animationTimer->setInterval( m_animationIntervalMillisec ); QObject::connect( m_animationTimer.get(), &QTimer::timeout, [this]() { updateAnimations.send(); } ); } diff --git a/ApplicationLibCode/UserInterface/RiuWellLogPlot.cpp b/ApplicationLibCode/UserInterface/RiuWellLogPlot.cpp index dd6f3bff3b..7b9c83f24a 100644 --- a/ApplicationLibCode/UserInterface/RiuWellLogPlot.cpp +++ b/ApplicationLibCode/UserInterface/RiuWellLogPlot.cpp @@ -18,7 +18,7 @@ RiuWellLogPlot::RiuWellLogPlot( RimDepthTrackPlot* plotDefinition, QWidget* parent ) : RiuMultiPlotPage( plotDefinition, parent ) { - m_verticalTrackScrollBar = new QScrollBar( nullptr ); + m_verticalTrackScrollBar = new QScrollBar( this ); m_verticalTrackScrollBar->setOrientation( Qt::Vertical ); m_verticalTrackScrollBar->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Preferred ); @@ -27,7 +27,7 @@ RiuWellLogPlot::RiuWellLogPlot( RimDepthTrackPlot* plotDefinition, QWidget* pare connect( m_verticalTrackScrollBar, SIGNAL( valueChanged( int ) ), this, SLOT( slotSetMinDepth( int ) ) ); - m_horizontalTrackScrollBar = new QScrollBar( nullptr ); + m_horizontalTrackScrollBar = new QScrollBar( this ); m_horizontalTrackScrollBar->setOrientation( Qt::Horizontal ); m_horizontalTrackScrollBar->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ); @@ -37,6 +37,15 @@ RiuWellLogPlot::RiuWellLogPlot( RimDepthTrackPlot* plotDefinition, QWidget* pare connect( m_horizontalTrackScrollBar, SIGNAL( valueChanged( int ) ), this, SLOT( slotSetMinDepth( int ) ) ); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuWellLogPlot::~RiuWellLogPlot() +{ + delete m_horizontalTrackScrollBarLayout.data(); + delete m_verticalTrackScrollBarLayout.data(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/UserInterface/RiuWellLogPlot.h b/ApplicationLibCode/UserInterface/RiuWellLogPlot.h index e0f2a16c8a..1bb6462665 100644 --- a/ApplicationLibCode/UserInterface/RiuWellLogPlot.h +++ b/ApplicationLibCode/UserInterface/RiuWellLogPlot.h @@ -28,6 +28,7 @@ class RiuWellLogPlot : public RiuMultiPlotPage Q_OBJECT public: RiuWellLogPlot( RimDepthTrackPlot* plotDefinition, QWidget* parent ); + ~RiuWellLogPlot() override; RimViewWindow* ownerViewWindow() const override; diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeEditorHandle.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeEditorHandle.h index ff189e739a..91bd089398 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeEditorHandle.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeEditorHandle.h @@ -54,7 +54,11 @@ class PdmUiTreeEditorHandle : public PdmUiEditorHandle { public: PdmUiTreeEditorHandle() {} - ~PdmUiTreeEditorHandle() override {} + ~PdmUiTreeEditorHandle() override + { + delete m_widget.data(); + m_widget.clear(); + } QWidget* getOrCreateWidget( QWidget* parent ); QWidget* widget() { return m_widget; } diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h index 800da2cf66..7e87a34a12 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeViewEditor.h @@ -87,8 +87,10 @@ public: explicit PdmUiTreeViewWidget( QWidget* parent = nullptr ) : QTreeView( parent ) { - setStyle( new PdmUiTreeViewStyle ); + m_style = std::make_shared(); + setStyle( m_style.get() ); }; + ~PdmUiTreeViewWidget() override{}; bool isTreeItemEditWidgetActive() const { return state() == QAbstractItemView::EditingState; } @@ -96,6 +98,8 @@ public: protected: void dragMoveEvent( QDragMoveEvent* event ) override; void dragLeaveEvent( QDragLeaveEvent* event ) override; + + std::shared_ptr m_style; }; //--------------------------------------------------------------------------------------------------