From 31102245e456b61b3faf07b9c9d63a6112ae40a0 Mon Sep 17 00:00:00 2001 From: enk Date: Wed, 24 May 2006 11:12:29 +0000 Subject: [PATCH] Fix for Bug IPAL12384: SIGSEGV 'segmentation violatin' detected. --- src/VISUGUI/VisuGUI_CutLinesDlg.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/VISUGUI/VisuGUI_CutLinesDlg.cxx b/src/VISUGUI/VisuGUI_CutLinesDlg.cxx index 7b6c49a7..68e343b6 100644 --- a/src/VISUGUI/VisuGUI_CutLinesDlg.cxx +++ b/src/VISUGUI/VisuGUI_CutLinesDlg.cxx @@ -368,9 +368,12 @@ void VisuGUI_CutLinesDlg::deletePlanes() SVTK_ViewWindow* aView; vtkRenderer* aRend = myPreviewActor->GetRenderer(); vtkRenderer* aRendGlyphs = myPreviewActorGlyphs->GetRenderer(); - if(aRend) + + vtkRenderWindow* aWnd1 = aRend->GetRenderWindow(); + vtkRenderWindow* aWnd2 = aRendGlyphs->GetRenderWindow(); + if(aRend && aWnd1) myPreviewActor->RemoveFromRender(aRend); - if(aRendGlyphs) + if(aRendGlyphs && aWnd2) myPreviewActorGlyphs->RemoveFromRender(aRendGlyphs); // Bug IPAL11962: preview is still in the viewer, if viewer not active. @@ -560,9 +563,9 @@ void VisuGUI_CutLinesDlg::updateGlyphs(bool update){ for(int i=0; i<3; i++) aBoundCenter[i] = (bounds[i*2] + bounds[i*2+1])/2.0; for(int i=0; i<3; i++){ if (!myAllCurvesInvertedCheck->isChecked()) - aSecondPnt[i] = aBasePnt[i] + aDirLn[i]; + aSecondPnt[i] = aDirLn[i]; else - aSecondPnt[i] = -aBasePnt[i] - aDirLn[i]; + aSecondPnt[i] = - aDirLn[i]; } vtkFloatingPointType max_bound = 0; -- 2.39.2