ソースを参照

ctkVTK*View freeze after call forceRender() on invisible widget

The flag RenderPending couldn't be reset if forceRender() was called with
RenderEnabled being false or the widget is invisible (scheduleRender()
 always exit because of the flag).
Julien Finet 14 年 前
コミット
41041a4989
共有2 個のファイルを変更した2 個の追加2 個の削除を含む
  1. 1 1
      Libs/Visualization/VTK/Widgets/ctkVTKRenderView.cpp
  2. 1 1
      Libs/Visualization/VTK/Widgets/ctkVTKSliceView.cpp

+ 1 - 1
Libs/Visualization/VTK/Widgets/ctkVTKRenderView.cpp

@@ -267,6 +267,7 @@ void ctkVTKRenderView::forceRender()
 {
   Q_D(ctkVTKRenderView);
 
+  d->RenderPending = false;
   logger.trace(QString("forceRender - RenderEnabled: %1")
                .arg(d->RenderEnabled ? "true" : "false"));
 
@@ -275,7 +276,6 @@ void ctkVTKRenderView::forceRender()
     return;
     }
   d->RenderWindow->Render();
-  d->RenderPending = false;
 }
 
 //----------------------------------------------------------------------------

+ 1 - 1
Libs/Visualization/VTK/Widgets/ctkVTKSliceView.cpp

@@ -137,13 +137,13 @@ void ctkVTKSliceView::scheduleRender()
 void ctkVTKSliceView::forceRender()
 {
   Q_D(ctkVTKSliceView);
+  d->RenderPending = false;
   if (!d->RenderEnabled  || !this->isVisible())
     {
     return;
     }
   logger.trace("forceRender");
   d->RenderWindow->Render();
-  d->RenderPending = false;
 }
 
 //----------------------------------------------------------------------------