mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +05:00
54519: [TC-9.3.0]: SIGSEGV during exit if dimensions are editing
This commit is contained in:
parent
991d2a1931
commit
4558fc1b44
@ -132,12 +132,14 @@ void MeasureGUI_DimensionInteractor::Disable()
|
|||||||
|
|
||||||
myIsEnabled = false;
|
myIsEnabled = false;
|
||||||
|
|
||||||
// remove event filtering from viewer windows
|
if (myVM) {
|
||||||
QVector<SUIT_ViewWindow*> aViews = myVM->getViews();
|
// remove event filtering from viewer windows
|
||||||
QVector<SUIT_ViewWindow*>::iterator aViewIt = aViews.begin();
|
QVector<SUIT_ViewWindow*> aViews = myVM->getViews();
|
||||||
for ( ; aViewIt != aViews.end(); ++aViewIt )
|
QVector<SUIT_ViewWindow*>::iterator aViewIt = aViews.begin();
|
||||||
{
|
for ( ; aViewIt != aViews.end(); ++aViewIt )
|
||||||
DisconnectView( *aViewIt );
|
{
|
||||||
|
DisconnectView( *aViewIt );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
|
|
||||||
#include <GeometryGUI.h>
|
#include <GeometryGUI.h>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QPointer>
|
||||||
|
|
||||||
#include <SelectMgr_EntityOwner.hxx>
|
#include <SelectMgr_EntityOwner.hxx>
|
||||||
#include <NCollection_Sequence.hxx>
|
#include <NCollection_Sequence.hxx>
|
||||||
@ -165,7 +166,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
GeometryGUI* myGeomGUI;
|
GeometryGUI* myGeomGUI;
|
||||||
bool myIsEnabled;
|
bool myIsEnabled;
|
||||||
OCCViewer_ViewManager* myVM;
|
QPointer<OCCViewer_ViewManager> myVM;
|
||||||
OCCViewer_Viewer* myViewer;
|
OCCViewer_Viewer* myViewer;
|
||||||
Operation myOperation;
|
Operation myOperation;
|
||||||
bool myOperationStarted;
|
bool myOperationStarted;
|
||||||
|
@ -129,7 +129,7 @@ MeasureGUI_ManageDimensionsDlg::MeasureGUI_ManageDimensionsDlg( GeometryGUI* the
|
|||||||
connect( myGeomGUI, SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( OnDeactivateThisDialog() ) );
|
connect( myGeomGUI, SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( OnDeactivateThisDialog() ) );
|
||||||
connect( myGeomGUI, SIGNAL( SignalCloseAllDialogs() ), this, SLOT( ClickOnCancel() ) );
|
connect( myGeomGUI, SIGNAL( SignalCloseAllDialogs() ), this, SLOT( ClickOnCancel() ) );
|
||||||
|
|
||||||
myDimensionInteractor = new MeasureGUI_DimensionInteractor( theGUI, theParent ),
|
myDimensionInteractor = new MeasureGUI_DimensionInteractor( theGUI, this ),
|
||||||
|
|
||||||
SelectionIntoArgument( Selection_Object );
|
SelectionIntoArgument( Selection_Object );
|
||||||
|
|
||||||
@ -245,6 +245,9 @@ void MeasureGUI_ManageDimensionsDlg::StartSelection( const Selection theSelectio
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
void MeasureGUI_ManageDimensionsDlg::StopSelection()
|
void MeasureGUI_ManageDimensionsDlg::StopSelection()
|
||||||
{
|
{
|
||||||
|
if( !myGeomGUI || !myGeomGUI->getApp() || !myGeomGUI->getApp()->selectionMgr() )
|
||||||
|
return;
|
||||||
|
|
||||||
if ( myCurrentSelection == Selection_Object )
|
if ( myCurrentSelection == Selection_Object )
|
||||||
{
|
{
|
||||||
/* ----------------------------------------------- *
|
/* ----------------------------------------------- *
|
||||||
|
Loading…
Reference in New Issue
Block a user