[vtk-developers] QVTKRenderWindowInteractor OpenGL bug fix

Clinton Stimpson clinton at elemtech.com
Fri Jun 22 18:13:21 EDT 2012


Can you pass -sync into the QApplication constructor?
Debugging would become much easier, so you don't get an error at an unrelated 
X call.

On Wednesday, June 20, 2012 04:53:56 PM Félix C. Morency wrote:
> Clinton,
> 
> I finally found the source of the crash. I was calling the
> Initialize() method in the constructor of my
> QVTKRenderWindowInteractor subclass which was causing a segfault under
> Linux. The default QVTKRenderWindowInteractor (QWidget) seems to work
> fine, although I still have GLXBadDrawable errors if I make more than
> one QVTKRenderWindowInteractor which are located in QMdiArea
> subwindows. Do you have any idea why?
> 
> Regards,
> -F
> 
> On Wed, Jun 20, 2012 at 10:57 AM, Félix C. Morency
> 
> <felix.morency at gmail.com> wrote:
> > Clinton,
> > 
> > Thank you for pointing that out on gerrit. You are right about the
> > multiple context issue. I made some more tests and had the following
> > results:
> > 
> > 1) The original wrapper (QWidget) with Matthieu's fix [1] works fine
> > under Windows x86_64. No need to switch to a QGLWidget.
> > 2) The crash with the original code (QWidget) happens on Linux x86_64
> > (Ubuntu 11.10), nVidia drivers 295.20. The backtrace points to
> > vtkXOpenGLRenderWindow.cxx:624
> > 3) Changing the display/window id (SetDisplayId()/SetWindowId())
> > results in a (different) crash. The backtrace points to
> > vtkXOpenGLRenderWindow.cxx:585. The dpy->ext_data and w parameters of
> > the XChangeWindowAttributes method are set to the values returned by
> > the QWidget x11Info().display() and winId().
> > 
> > I'm stuck. Do you have any pointers/clues on:
> > 
> > 1) The reason of the crash with the original code?
> > 2) How to get the OpenGL context from VTK so I can assign it to the
> > QGLWidget, if possible?
> > 
> > Feel free to ask for more information.
> > 
> > [1]: http://review.source.kitware.com/#/t/831/
> > 
> > Regards,
> > -F
> > 
> > On Tue, Jun 19, 2012 at 10:54 AM, Félix C. Morency
> > 
> > <felix.morency at gmail.com> wrote:
> >> Hi,
> >> 
> >> I pushed in [1] a bug fix that resolves a crash when trying to embed a
> >> QVTKRenderWindowInteractor in a PySide (v1.1.1) Linux application. The
> >> commit is marked as a WIP because I have the following error when the
> >> cone testing application exits:
> >> 
> >> X Error of failed request:  GLXBadDrawable
> >>  Major opcode of failed request:  135 (GLX)
> >>  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
> >> 
> >> I don't know if its VTK or PySide (or both) related. Do you guys have
> >> any idea?
> >> 
> >> [1]: http://review.source.kitware.com/6249
> >> 
> >> --
> >> Félix C. Morency, M.Sc.
> >> Plateforme d’analyse et de visualisation d’images
> >> Centre Hospitalier Universitaire de Sherbrooke
> >> Centre de recherche clinique Étienne-Le Bel
> >> Local Z5-3031 | 819.346.1110 ext 16634
> > 
> > --
> > --
> > Félix C. Morency, M.Sc.
> > Plateforme d’analyse et de visualisation d’images
> > Centre Hospitalier Universitaire de Sherbrooke
> > Centre de recherche clinique Étienne-Le Bel
> > Local Z5-3031 | 819.346.1110 ext 16634
-- 
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com



More information about the vtk-developers mailing list