[Debian-med-packaging] Bug#759060: invesalius: Partial patch for wxPython 3.0

Olly Betts olly at survex.com
Wed Sep 10 00:19:21 UTC 2014


I've had a look at updating invesalius for wxpython3.0, and made some
progress.

However, the startup still isn't clean - the splash screen throws up
several errors - see invesalius.wxpy3.0.log - and once the app fires up,
there are clearly issues with the sizing of widgets, to the extent that
it isn't usable.  I'm not sure if these are as a result of the splash
screen errors or not.

The logic in the splashscreen code seems hard to follow, relying on
several different delayed callbacks.  I wonder if it's just inherently
racy, and a timing difference causes the failures with wxpython 3.0.

Anyway, I'm giving up on this one for the moment, but thought I should
at least send the patch I have so far to avoid duplicated effort if you
were also looking at it.

Cheers,
    Olly
-------------- next part --------------
A non-text attachment was scrubbed...
Name: invesalius-3.0~b5-3.1-nmu.diff
Type: text/x-diff
Size: 6774 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20140909/8b5d8644/attachment.diff>
-------------- next part --------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_misc.py", line 1367, in Notify
    self.notify()
  File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 16869, in Notify
    self.result = self.callable(*self.args, **self.kwargs)
  File "invesalius.py", line 177, in Startup
    self.main = Frame(None)
  File "/usr/share/invesalius/invesalius/gui/frame.py", line 85, in __init__
    self.__init_aui()
  File "/usr/share/invesalius/invesalius/gui/frame.py", line 140, in __init_aui
    aui_manager.AddPane(viewers.Panel(self), wx.aui.AuiPaneInfo().
  File "/usr/share/invesalius/invesalius/gui/default_viewers.py", line 41, in __init__
    self.__init_aui_manager()
  File "/usr/share/invesalius/invesalius/gui/default_viewers.py", line 77, in __init_aui_manager
    p1 = slice_viewer.Viewer(self, "AXIAL")
  File "/usr/share/invesalius/invesalius/data/viewer_slice.py", line 184, in __init__
    self.__init_gui()
  File "/usr/share/invesalius/invesalius/data/viewer_slice.py", line 205, in __init_gui
    self.interactor = wxVTKRenderWindowInteractor(self, -1, size=self.GetSize())
  File "/usr/lib/pymodules/python2.7/vtk/wx/wxVTKRenderWindowInteractor.py", line 175, in __init__
    attribList=attribList)
  File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/glcanvas.py", line 106, in __init__
    _glcanvas.GLCanvas_swiginit(self,_glcanvas.new_GLCanvas(*args, **kwargs))
TypeError: Argument given by name ('attribList') and position (3)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_misc.py", line 1367, in Notify
    self.notify()
  File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 16869, in Notify
    self.result = self.callable(*self.args, **self.kwargs)
  File "invesalius.py", line 81, in Startup2
    self.control = self.splash.control
AttributeError: 'SplashScreen' object has no attribute 'control'
Traceback (most recent call last):
  File "invesalius.py", line 196, in OnClose
    if self.fc.IsRunning():
AttributeError: 'SplashScreen' object has no attribute 'fc'


More information about the Debian-med-packaging mailing list