mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
RegressionTests: Fix performance issues related to DockManager::restoreState
* Performance: Disable DockManager::restoreState when running regression tests * Set parent to Qt widgets to avoid memory leak * Change singleton pattern to avoid memory leak
This commit is contained in:
parent
5d072663f1
commit
9db4d03a5f
@ -21,6 +21,7 @@
|
|||||||
#include "RiaApplication.h"
|
#include "RiaApplication.h"
|
||||||
#include "RiaDefines.h"
|
#include "RiaDefines.h"
|
||||||
#include "RiaPreferences.h"
|
#include "RiaPreferences.h"
|
||||||
|
#include "RiaRegressionTestRunner.h"
|
||||||
#include "RiaVersionInfo.h"
|
#include "RiaVersionInfo.h"
|
||||||
|
|
||||||
#include "RiuDockWidgetTools.h"
|
#include "RiuDockWidgetTools.h"
|
||||||
@ -151,7 +152,6 @@ void RiuMainWindowBase::loadWinGeoAndDockToolBarLayout()
|
|||||||
|
|
||||||
QVariant winGeo = settings.value( QString( "%1/winGeometry" ).arg( registryFolderName() ) );
|
QVariant winGeo = settings.value( QString( "%1/winGeometry" ).arg( registryFolderName() ) );
|
||||||
QVariant toolbarLayout = settings.value( QString( "%1/toolBarLayout" ).arg( registryFolderName() ) );
|
QVariant toolbarLayout = settings.value( QString( "%1/toolBarLayout" ).arg( registryFolderName() ) );
|
||||||
QVariant dockState = settings.value( QString( "%1/dockLayout" ).arg( registryFolderName() ) );
|
|
||||||
|
|
||||||
if ( winGeo.isValid() )
|
if ( winGeo.isValid() )
|
||||||
{
|
{
|
||||||
@ -164,16 +164,24 @@ void RiuMainWindowBase::loadWinGeoAndDockToolBarLayout()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool dockingOk = false;
|
if ( !RiaRegressionTestRunner::instance()->isRunningRegressionTests() )
|
||||||
|
|
||||||
if ( dockState.isValid() )
|
|
||||||
{
|
{
|
||||||
dockingOk = m_dockManager->restoreState( dockState.toByteArray(), DOCKSTATE_VERSION );
|
// Performance of m_dockManager->restoreState() is very bad is degrading as more and more regression tests are
|
||||||
}
|
// launched. Disable restore of state for regression test.
|
||||||
|
|
||||||
if ( !dockingOk )
|
bool dockingOk = false;
|
||||||
{
|
QVariant dockState = settings.value( QString( "%1/dockLayout" ).arg( registryFolderName() ) );
|
||||||
m_dockManager->restoreState( RiuDockWidgetTools::defaultDockState( defaultDockStateNames()[0] ), DOCKSTATE_VERSION );
|
|
||||||
|
if ( dockState.isValid() )
|
||||||
|
{
|
||||||
|
dockingOk = m_dockManager->restoreState( dockState.toByteArray(), DOCKSTATE_VERSION );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !dockingOk )
|
||||||
|
{
|
||||||
|
m_dockManager->restoreState( RiuDockWidgetTools::defaultDockState( defaultDockStateNames()[0] ),
|
||||||
|
DOCKSTATE_VERSION );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
settings.beginGroup( registryFolderName() );
|
settings.beginGroup( registryFolderName() );
|
||||||
|
@ -54,8 +54,9 @@ bool is_region_to_region( const std::string& keyword )
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RiuSummaryQuantityNameInfoProvider* RiuSummaryQuantityNameInfoProvider::instance()
|
RiuSummaryQuantityNameInfoProvider* RiuSummaryQuantityNameInfoProvider::instance()
|
||||||
{
|
{
|
||||||
static auto* singleton = new RiuSummaryQuantityNameInfoProvider;
|
static RiuSummaryQuantityNameInfoProvider theInstance;
|
||||||
return singleton;
|
|
||||||
|
return &theInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -386,7 +386,7 @@ QWidget* PdmUiComboBoxEditor::createEditorWidget( QWidget* parent )
|
|||||||
|
|
||||||
connect( m_comboBox, SIGNAL( activated( int ) ), this, SLOT( slotIndexActivated( int ) ) );
|
connect( m_comboBox, SIGNAL( activated( int ) ), this, SLOT( slotIndexActivated( int ) ) );
|
||||||
|
|
||||||
m_autoValueToolButton = new QToolButton();
|
m_autoValueToolButton = new QToolButton( m_placeholder );
|
||||||
m_autoValueToolButton->setCheckable( true );
|
m_autoValueToolButton->setCheckable( true );
|
||||||
m_autoValueToolButton->setToolButtonStyle( Qt::ToolButtonIconOnly );
|
m_autoValueToolButton->setToolButtonStyle( Qt::ToolButtonIconOnly );
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ QWidget* PdmUiLineEditor::createEditorWidget( QWidget* parent )
|
|||||||
m_layout->setSpacing( 0 );
|
m_layout->setSpacing( 0 );
|
||||||
m_layout->addWidget( m_lineEdit );
|
m_layout->addWidget( m_lineEdit );
|
||||||
|
|
||||||
m_autoValueToolButton = new QToolButton();
|
m_autoValueToolButton = new QToolButton( m_placeholder );
|
||||||
m_autoValueToolButton->setCheckable( true );
|
m_autoValueToolButton->setCheckable( true );
|
||||||
m_autoValueToolButton->setToolButtonStyle( Qt::ToolButtonIconOnly );
|
m_autoValueToolButton->setToolButtonStyle( Qt::ToolButtonIconOnly );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user