From c104d14086e07a1fa2b936f646340683b178a297 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 3 Sep 2018 15:21:30 -0400 Subject: [PATCH] [partition] Call the helpers in the right order. This fixes the crash by calling the model-reset first, then refreshing. Previously, the destructors that do the work were still being called in the wrong order. FIXES #1019 --- src/modules/partition/core/PartitionCoreModule.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 542b7e329..b8011f066 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -79,8 +79,8 @@ class OperationHelper { public: OperationHelper( PartitionModel* model, PartitionCoreModule* core ) - : m_modelHelper( model ) - , m_coreHelper( core ) + : m_coreHelper( core ) + , m_modelHelper( model ) { } @@ -89,9 +89,10 @@ public: private: // Keep these in order: first the model needs to finish, - // then refresh is called. - PartitionModel::ResetHelper m_modelHelper; + // then refresh is called. Remember that destructors are + // called in *reverse* order of declaration in this class. PartitionCoreModule::RefreshHelper m_coreHelper; + PartitionModel::ResetHelper m_modelHelper; } ;