<div>Greetings all,</div><div><br></div><div>As shown in the following code-snippets, I create an instance of QVTWidget inside 'RzVTKViewerWorkspaceViewer' class.</div><div>This 'RzVTKViewerWorkspace' instance behaves as the centralWidget for a QMainWindow instance.</div>
<div><br></div><div>When I run my application and open above widget ,first it gives the warning:</div><div><br></div><div>"QObject: Cannot create children for a parent that is in a different thread.</div><div>(Parent is QObject(0x112f5e68), parent's thread is QThread(0xb438a0), current thread is QThread(0x112fedc0)"</div>
<div><br></div><div><br></div><div>And I can see the rendered spear and i can resize the window without errors.</div><div>But when I perform any mouse action (drag,click..etc) program crashes.</div><div>I have given the debug info below.</div>
<div><br></div><div>Does 'QVTWidget' create a new thread for VTK related processing ? </div><div>I dont create any threads in my application,but I create several QMainWindow instances.</div><div><br></div><div>Any tips on this? </div>
<div><br></div><div>----------------------RzVTKViewerWorkspaceView.h--------------------------------------------------</div><div><br></div><div>class RzVTKViewerWorkspaceView :public QWidget,public IRzWorkspaceView {</div>
<div>private:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>QVTKWidget *qtWidget;</div><div>public:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>RzVTKViewerWorkspaceView(QWidget *parent=0);</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>virtual ~RzVTKViewerWorkspaceView();</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>void registerWindowMenu();</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>//unregister menu/toolbar related to the workspace view</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>void unregisterWindowMenu();</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>//initialization methods</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>void init();</div><div>};</div><div><br></div><div><br></div>
<div><br></div><div>-----------------------------RzVTKViewerWorkspaceView.cpp------------------------------------------</div><div><br></div><div>RzVTKViewerWorkspaceView::RzVTKViewerWorkspaceView(QWidget *parent) :</div><div>
<span class="Apple-tab-span" style="white-space:pre">        </span>QWidget(parent), IRzWorkspaceView((MainWindow*) parent) {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>qDebug("constructing VTKWorkspace View");</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>setCurrentStateMachine(NULL);</div><div> </div><div> //init() method is called after instansiating object</div><div><br></div><div>
}</div><div><br></div><div>RzVTKViewerWorkspaceView::~RzVTKViewerWorkspaceView() {</div><div>}</div><div><br></div><div>void RzVTKViewerWorkspaceView::registerWindowMenu() {</div><div><br></div><div>}</div><div><br></div>
<div>void RzVTKViewerWorkspaceView::unregisterWindowMenu() {</div><div><br></div><div>}</div><div><br></div><div>void RzVTKViewerWorkspaceView::init() {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>qtWidget = new QVTKWidget(this);</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>qtWidget->resize(512, 512);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>//SETUP VTK</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkSphereSource> sphereSource = vtkSmartPointer<</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>vtkSphereSource>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sphereSource->Update();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkPolyDataMapper> sphereMapper = vtkSmartPointer<</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>vtkPolyDataMapper>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sphereMapper->SetInputConnection(sphereSource->GetOutputPort());</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkActor> sphereActor = vtkSmartPointer<vtkActor>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sphereActor->SetMapper(sphereMapper);</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>// VTK Renderer</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkRenderer> leftRenderer =</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>vtkSmartPointer<vtkRenderer>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>leftRenderer->AddActor(sphereActor);</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>qtWidget->GetRenderWindow()->AddRenderer(leftRenderer);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>QVBoxLayout *vboxLayout = new QVBoxLayout;</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vboxLayout->addWidget(qtWidget);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>setLayout(vboxLayout);</div>
<div>}</div><div><br></div><div><br></div><div><br></div><div><br></div><div>-------------------------------Debug Info-------------------------------------------------------------------</div><div><br></div><div><br></div>
<div>#Program received signal SIGSEGV, Segmentation fault.</div><div>0x02c14c41 in QRegion::isEmpty (this=0x28d490) at painting\qregion.cpp:3975</div><div>3975 painting\qregion.cpp: No such file or directory. in painting\qregion.cpp</div>
<div>(gdb) back</div><div>#0 0x02c14c41 in QRegion::isEmpty (this=0x28d490)</div><div> at painting\qregion.cpp:3975</div><div>#1 0x02aff18a in QWidgetPrivate::childAt_helper (this=0x11349000, p=..., ignoreChildrenInDestructor=false) at kernel\qwidget.cpp:9641</div>
<div>#2 0x02aff109 in QWidgetPrivate::childAt_helper (this=0xd0180b8, p=..., ignoreChildrenInDestructor=false) at kernel\qwidget.cpp:9636</div><div>#3 0x02afef9e in QWidget::childAt (this=0xb4df00, p=...) at kernel\qwidget.cpp:9600</div>
<div>#4 0x02b17bb6 in QETWidget::translateMouseEvent (this=0x113492e8, msg=...) at kernel\qapplication_win.cpp:3114</div><div>#5 0x02b134db in QtWndProc@16 (hwnd=0x260bc8, message=513, wParam=1, lParam=17367304) at kernel\qapplication_win.cpp:1629</div>
<div>#6 0x76666238 in USER32!IsDialogMessageW () from C:\Windows\syswow64\user32.dll</div><div>#7 0x00260bc8 in ?? ()warning: (Internal error: pc 0x200 in read in psymtab, but not in symtab.)</div><div>warning: (Internal error: pc 0x200 in read in psymtab, but not in symtab.)</div>
<div><br></div><div>#8 0x00000201 in ?? (warning: (Internal error: pc 0x200 in read in psymtab, but not in symtab.)</div><div><br></div><div>)</div><div> at ../../include/QtCore/../../src/corelib/tools/qvector.h:490</div>
<div>warning: (Internal error: pc 0x200 in read in psymtab, but not in symtab.)</div><div><br></div><div>warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)</div><div><br></div><div>warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)</div>
<div><br></div><div>#9 0x00000001 in ?? (warning: (Internal error: pc 0x0 in read in psymtab, but n</div><div>ot in symtab.)</div><div><br></div><div>)</div><div> at ../../../../include/QtCore/../../src/corelib/tools/qstring.h:869</div>
<div>warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)</div><div><br></div><div>warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)</div><div><br></div><div>#10 0x02b12ab3 in qt_is_translatable_mouse_event (message=1166667845)</div>
<div> at kernel\qapplication_win.cpp:1401</div>