<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div class="h5">I will have to build VTK CVS to be able to test this (I currently have</div>
</div>
5.4.2 on all platforms).  Hopefully I can reproduce the crash, in<br>
which case I have a better chance of being able to diagnose it.  I&#39;m<br>
currently swamped, so this is not going to happen very soon.<br>
<br>
Please continue with your own debugging in the meanwhile.  First thing<br>
you could try, is to modify the attribList to contain only<br>
wx.glcanvas.WX_GL_DOUBLEBUFFER bringing it more in linux with<br>
wxVTKRenderWindow.<br>
<br>
Good luck,<br>
<font color="#888888">Charl<br>
</font></blockquote></div><div><br></div>I tried modifying attribList - there was no change. I believe the crash happens in the Render function. I put a <div>print &quot;before&quot; </div><div>and</div><div>print &quot;after&quot; </div>
<div>in the function:<br><div><br></div><div><div>    def Render(self):</div><div>        &quot;&quot;&quot;Actually renders the VTK scene on screen.</div><div>        &quot;&quot;&quot;</div><div>        RenderAllowed = 1</div>
<div>       <span class="Apple-tab-span" style="white-space:pre">        </span>print &quot;before&quot;</div><div>        if not self.__RenderWhenDisabled:</div><div>            # the user doesn&#39;t want us to render when the toplevel frame</div>
<div>            # is disabled - first find the top level parent</div><div>            topParent = wx.GetTopLevelParent(self)</div><div>            if topParent:</div><div>                # if it exists, check whether it&#39;s enabled</div>
<div>                # if it&#39;s not enabeld, RenderAllowed will be false</div><div>                RenderAllowed = topParent.IsEnabled()</div><div><br></div><div>        if RenderAllowed:</div><div>            if self.__handle and self.__handle == self.GetHandle():</div>
<div>                self._Iren.GetRenderWindow().Render()</div><div><br></div><div>            elif self.GetHandle() and self.__has_painted:</div><div>                # this means the user has reparented us; let&#39;s adapt to the</div>
<div>                # new situation by doing the WindowRemap dance</div><div>                self._Iren.GetRenderWindow().SetNextWindowInfo(</div><div>                    str(self.GetHandle()))</div><div><br></div><div>                # make sure the DisplayId is also set correctly</div>
<div>                d = self.GetDisplayId()</div><div>                if d:</div><div>                    self._Iren.GetRenderWindow().SetDisplayId(d)</div><div>                </div><div>                # do the actual remap with the new parent information</div>
<div>                self._Iren.GetRenderWindow().WindowRemap()</div><div><br></div><div>                # store the new situation</div><div>                self.__handle = self.GetHandle()</div><div>                self._Iren.GetRenderWindow().Render()</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>print &quot;after&quot;</div></div><div><br></div><div>The output is:</div><div><div>[doriad@davedesktop wx]$ python wxVTKRenderWindowInteractor.py</div><div>
before</div><div>after</div><div>before</div><div>Segmentation fault</div><div><br></div><div>I am not at all a python guru so I don&#39;t know how the buffers work/flush, so maybe this is misleading because the buffer is not flushed - but if not, I think it indicates that the crash happens in this function (the second time it is called)?</div>
</div><div><br clear="all">Thanks,<br><br>David<br></div></div>