From b0a86de65377bab0d10a83c4daee1790aaadb2ae Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 7 Aug 2025 11:25:38 +0200 Subject: [PATCH] Avoid overwrite of axis object for newer project file versions Add project file version check to the usage of m_plotAxis_OBSOLETE in RimSummaryCurve::initAfterRead() --- .../Application/Tools/RiaProjectFileTools.cpp | 7 +++++-- .../ProjectDataModel/Summary/RimSummaryCurve.cpp | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ApplicationLibCode/Application/Tools/RiaProjectFileTools.cpp b/ApplicationLibCode/Application/Tools/RiaProjectFileTools.cpp index dff3d4e86e..5d689e7bd1 100644 --- a/ApplicationLibCode/Application/Tools/RiaProjectFileTools.cpp +++ b/ApplicationLibCode/Application/Tools/RiaProjectFileTools.cpp @@ -45,6 +45,9 @@ bool isCandidateNewerThanOther( int candidateMajorVersion, return ( candidateMajorVersion > otherMajorVersion ); } + // Early exit if a minor number is undefined + if ( candidateMinorVersion == -1 || otherMinorVersion == -1 ) return false; + if ( candidateMinorVersion != otherMinorVersion ) { return ( candidateMinorVersion > otherMinorVersion ); @@ -102,7 +105,7 @@ QString stringOfDigits( const QString& string ) bool RiaProjectFileTools::isCandidateVersionNewerThanOther( const QString& candidateProjectFileVersion, const QString& projectFileVersion ) { int candidateMajorVersion = 0; - int candidateMinorVersion = 0; + int candidateMinorVersion = -1; int candidatePatchNumber = -1; int candidateDevelopmentId = -1; @@ -113,7 +116,7 @@ bool RiaProjectFileTools::isCandidateVersionNewerThanOther( const QString& candi &candidateDevelopmentId ); int majorVersion = 0; - int minorVersion = 0; + int minorVersion = -1; int patchNumber = -1; int developmentId = -1; diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurve.cpp b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurve.cpp index 12f9d926e5..e4cbe3458c 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurve.cpp +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurve.cpp @@ -791,7 +791,7 @@ void RimSummaryCurve::initAfterRead() { RimStackablePlotCurve::initAfterRead(); - if ( m_yPlotAxisProperties.value() == nullptr ) + if ( RimProject::current()->isProjectFileVersionEqualOrOlderThan( "2021" ) && m_yPlotAxisProperties.value() == nullptr ) { auto plot = firstAncestorOrThisOfType(); if ( plot ) m_yPlotAxisProperties = plot->axisPropertiesForPlotAxis( RiuPlotAxis( m_plotAxis_OBSOLETE() ) );