1 diff -Naur gui-9.5.0/src/SVTK/SVTK.h gui-master/src/SVTK/SVTK.h
2 --- gui-9.5.0/src/SVTK/SVTK.h 2020-10-05 13:35:56.580949966 +0200
3 +++ gui-master/src/SVTK/SVTK.h 2020-10-05 13:34:10.374221860 +0200
8 +#define VGL_WORKAROUND
11 # if defined SVTK_EXPORTS
12 # define SVTK_EXPORT __declspec(dllexport)
13 diff -Naur gui-9.5.0/src/SVTK/SVTK_InteractorStyle.cxx gui-master/src/SVTK/SVTK_InteractorStyle.cxx
14 --- gui-9.5.0/src/SVTK/SVTK_InteractorStyle.cxx 2020-10-05 13:35:56.581949973 +0200
15 +++ gui-master/src/SVTK/SVTK_InteractorStyle.cxx 2020-10-05 13:34:10.378221887 +0200
17 // check if bounding box was changed
18 if ( GetCurrentRenderer() )
20 +#ifdef VGL_WORKAROUND
21 + GetCurrentRenderer()->Render();
23 double aCurrBBCenter[3];
24 if ( ComputeBBCenter(GetCurrentRenderer(),aCurrBBCenter) )
26 diff -Naur gui-9.5.0/src/SVTK/SVTK_ViewModel.cxx gui-master/src/SVTK/SVTK_ViewModel.cxx
27 --- gui-9.5.0/src/SVTK/SVTK_ViewModel.cxx 2020-10-05 13:35:56.582949980 +0200
28 +++ gui-master/src/SVTK/SVTK_ViewModel.cxx 2020-10-05 13:34:10.384221928 +0200
31 #include <QColorDialog>
35 #include <vtkCamera.h>
36 #include <vtkRenderer.h>
38 this, SLOT(onActorAdded(VTKViewer_Actor*)));
39 connect(aViewWindow, SIGNAL( actorRemoved(VTKViewer_Actor*) ),
40 this, SLOT(onActorRemoved(VTKViewer_Actor*)));
48 connect(theViewManager, SIGNAL(mouseRelease(SUIT_ViewWindow*, QMouseEvent*)),
49 this, SLOT(onMouseRelease(SUIT_ViewWindow*, QMouseEvent*)));
51 + connect(theViewManager, SIGNAL(viewCreated(SUIT_ViewWindow*)),
52 + this, SLOT(onViewCreated(SUIT_ViewWindow*)));
58 emit actorRemoved((SVTK_ViewWindow*)sender(), theActor);
61 +void SVTK_Viewer::onViewCreated( SUIT_ViewWindow* view) {
62 +#ifdef VGL_WORKAROUND
63 + if ( SVTK_ViewWindow* svw = dynamic_cast<SVTK_ViewWindow*>( view ) )
64 + QTimer::singleShot(500, [svw] () { svw->Repaint(); } );
67 diff -Naur gui-9.5.0/src/SVTK/SVTK_ViewModel.h gui-master/src/SVTK/SVTK_ViewModel.h
68 --- gui-9.5.0/src/SVTK/SVTK_ViewModel.h 2020-10-05 13:35:56.582949980 +0200
69 +++ gui-master/src/SVTK/SVTK_ViewModel.h 2020-10-05 13:34:10.384221928 +0200
71 void onActorAdded(VTKViewer_Actor*);
72 void onActorRemoved(VTKViewer_Actor*);
74 + void onViewCreated( SUIT_ViewWindow* );
77 void updateToolBars();
79 diff -Naur gui-9.5.0/src/SVTK/SVTK_ViewWindow.cxx gui-master/src/SVTK/SVTK_ViewWindow.cxx
80 --- gui-9.5.0/src/SVTK/SVTK_ViewWindow.cxx 2020-10-05 13:35:56.584949994 +0200
81 +++ gui-master/src/SVTK/SVTK_ViewWindow.cxx 2020-10-05 13:34:10.385221935 +0200
89 #include <QSignalMapper>
91 GetInteractor()->update();
93 SVTK_InteractorStyle* aStyle = (SVTK_InteractorStyle*)getInteractor()->GetInteractorStyle();
96 +#ifdef VGL_WORKAROUND
97 + if ( aStyle->GetCurrentRenderer() == nullptr ) {
98 + if( GetRenderer() ) {
99 + aStyle->SetCurrentRenderer(GetRenderer()->GetDevice());
108 @@ -2828,3 +2837,10 @@
110 blockSignals( blocked );
113 +void SVTK_ViewWindow::resizeEvent( QResizeEvent* theEvent )
115 +#ifdef VGL_WORKAROUND
119 diff -Naur gui-9.5.0/src/SVTK/SVTK_ViewWindow.h gui-master/src/SVTK/SVTK_ViewWindow.h
120 --- gui-9.5.0/src/SVTK/SVTK_ViewWindow.h 2020-10-05 13:35:56.584949994 +0200
121 +++ gui-master/src/SVTK/SVTK_ViewWindow.h 2020-10-05 13:34:10.385221935 +0200
123 enum AnaglyphFilter { RedCyan, YellowBlue, GreenMagenta };
127 + virtual void resizeEvent( QResizeEvent* );
129 virtual void Initialize(SVTK_View* theView,
130 SVTK_ViewModelBase* theModel);