#5026 Fix summary plot closing crash

This commit is contained in:
Gaute Lindkvist 2019-11-13 10:32:38 +01:00
parent f8468dc7a6
commit aa40816f49
7 changed files with 10 additions and 47 deletions

View File

@ -604,18 +604,6 @@ bool RimGridPlotWindow::applyFontSize( RiaDefines::FontSettingType fontSettingTy
return somethingChanged;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGridPlotWindow::detachAllCurves()
{
auto plotVector = plots();
for ( size_t tIdx = 0; tIdx < plotVector.size(); ++tIdx )
{
plotVector[tIdx]->detachAllCurves();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -51,7 +51,7 @@ public:
public:
RimGridPlotWindow();
~RimGridPlotWindow();
~RimGridPlotWindow() override;
RimGridPlotWindow& operator=( RimGridPlotWindow&& rhs );
@ -116,8 +116,6 @@ protected:
bool forceChange = false ) override;
private:
void detachAllCurves() override;
void cleanupBeforeClose();
static RimPlotInterface* toPlotInterfaceAsserted( caf::PdmObject* pdmObject );

View File

@ -32,7 +32,7 @@ class RimPlotWindow : public RimViewWindow
public:
RimPlotWindow();
~RimPlotWindow();
~RimPlotWindow() override;
RimPlotWindow& operator=( RimPlotWindow&& rhs );
@ -49,7 +49,6 @@ public:
int legendFontSize() const;
void setLegendFontSize( int fontSize );
virtual void detachAllCurves() = 0;
virtual void handleKeyPressEvent( QKeyEvent* keyEvent ) {}
virtual void updateLayout() = 0;

View File

@ -1513,22 +1513,7 @@ std::set<RimPlotAxisPropertiesInterface*> RimSummaryPlot::allPlotAxes() const
//--------------------------------------------------------------------------------------------------
void RimSummaryPlot::cleanupBeforeClose()
{
if ( m_summaryCurveCollection )
{
m_summaryCurveCollection->detachQwtCurves();
}
m_ensembleCurveSetCollection->detachQwtCurves();
for ( RimGridTimeHistoryCurve* curve : m_gridTimeHistoryCurves )
{
curve->detachQwtCurve();
}
for ( RimAsciiDataCurve* curve : m_asciiDataCurves )
{
curve->detachQwtCurve();
}
detachAllCurves();
if ( m_plotWidget )
{

View File

@ -109,17 +109,6 @@ RiuGridPlotWindow::RiuGridPlotWindow( RimGridPlotWindow* plotDefinition, QWidget
this->setObjectName( QString( "%1" ).arg( reinterpret_cast<uint64_t>( this ) ) );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuGridPlotWindow::~RiuGridPlotWindow()
{
if ( m_plotDefinition )
{
m_plotDefinition->detachAllCurves();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -55,8 +55,6 @@ class RiuGridPlotWindow : public QWidget, public RiuInterfaceToViewWindow, publi
public:
RiuGridPlotWindow( RimGridPlotWindow* plotDefinition, QWidget* parent = nullptr );
~RiuGridPlotWindow() override;
RimGridPlotWindow* ownerPlotDefinition();
RimViewWindow* ownerViewWindow() const override;

View File

@ -76,7 +76,13 @@ RiuQwtPlotWidget::RiuQwtPlotWidget( RimPlotInterface* plotTrackDefinition, QWidg
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuQwtPlotWidget::~RiuQwtPlotWidget() {}
RiuQwtPlotWidget::~RiuQwtPlotWidget()
{
if ( plotDefinition() )
{
plotDefinition()->detachAllCurves();
}
}
//--------------------------------------------------------------------------------------------------
///