mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7031 Delta Summary Case: Fix crash when updating case name
This commit is contained in:
@@ -44,8 +44,6 @@ RiaSummaryCurveDefinition::RiaSummaryCurveDefinition( RimSummaryCase*
|
||||
, m_summaryAddress( summaryAddress )
|
||||
, m_isEnsembleCurve( isEnsembleCurve )
|
||||
{
|
||||
CAF_ASSERT( summaryCase );
|
||||
|
||||
if ( summaryCase )
|
||||
{
|
||||
RimSummaryCaseCollection* ensemble = nullptr;
|
||||
|
||||
@@ -51,9 +51,31 @@ void RicNewDerivedSummaryFeature::onActionTriggered( bool isChecked )
|
||||
auto derivedCase = new RimDerivedSummaryCase;
|
||||
|
||||
auto selectedCases = twoSelectedSummaryCases();
|
||||
if ( selectedCases.empty() )
|
||||
{
|
||||
auto allCases = mainColl->allSummaryCases();
|
||||
|
||||
if ( allCases.size() > 0 )
|
||||
{
|
||||
selectedCases.push_back( allCases[0] );
|
||||
}
|
||||
if ( allCases.size() > 1 )
|
||||
{
|
||||
selectedCases.push_back( allCases[1] );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !selectedCases.empty() )
|
||||
{
|
||||
derivedCase->setSummaryCases( selectedCases[0], selectedCases[1] );
|
||||
RimSummaryCase* sumCase1 = selectedCases[0];
|
||||
RimSummaryCase* sumCase2 = nullptr;
|
||||
|
||||
if ( selectedCases.size() > 1 )
|
||||
{
|
||||
sumCase2 = selectedCases[1];
|
||||
}
|
||||
|
||||
derivedCase->setSummaryCases( sumCase1, sumCase2 );
|
||||
derivedCase->createSummaryReaderInterface();
|
||||
}
|
||||
|
||||
|
||||
@@ -205,14 +205,22 @@ void RimDerivedEnsembleCaseCollection::createDerivedEnsembleCases()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimDerivedEnsembleCaseCollection::hasCaseReference( const RimSummaryCase* sumCase ) const
|
||||
{
|
||||
for ( auto currCase : m_ensemble1->allSummaryCases() )
|
||||
if ( m_ensemble1 )
|
||||
{
|
||||
if ( currCase == sumCase ) return true;
|
||||
for ( auto currCase : m_ensemble1->allSummaryCases() )
|
||||
{
|
||||
if ( currCase == sumCase ) return true;
|
||||
}
|
||||
}
|
||||
for ( auto currCase : m_ensemble2->allSummaryCases() )
|
||||
|
||||
if ( m_ensemble2 )
|
||||
{
|
||||
if ( currCase == sumCase ) return true;
|
||||
for ( auto currCase : m_ensemble2->allSummaryCases() )
|
||||
{
|
||||
if ( currCase == sumCase ) return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +111,6 @@ bool RimDerivedSummaryCase::isInUse() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimDerivedSummaryCase::setSummaryCases( RimSummaryCase* sumCase1, RimSummaryCase* sumCase2 )
|
||||
{
|
||||
if ( !sumCase1 || !sumCase2 ) return;
|
||||
m_summaryCase1 = sumCase1;
|
||||
m_summaryCase2 = sumCase2;
|
||||
}
|
||||
@@ -421,7 +420,8 @@ void RimDerivedSummaryCase::updateDisplayNameFromCases()
|
||||
operatorText = "Sum";
|
||||
|
||||
QString name;
|
||||
if ( case1Name == case2Name && m_summaryCase1->ensemble() && m_summaryCase2->ensemble() )
|
||||
if ( case1Name == case2Name && m_summaryCase1 && m_summaryCase2 && m_summaryCase1->ensemble() &&
|
||||
m_summaryCase2->ensemble() )
|
||||
{
|
||||
QString ensembleName1 = m_summaryCase1->ensemble()->name();
|
||||
QString ensembleName2 = m_summaryCase2->ensemble()->name();
|
||||
|
||||
Reference in New Issue
Block a user