[vtk-developers] QVTKRenderWindowInteractor OpenGL bug fix

Félix C. Morency felix.morency at gmail.com
Wed Jun 20 16:53:56 EDT 2012


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



-- 
--
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



More information about the vtk-developers mailing list