On Thu, Sep 11, 2014 at 12:14:50PM +0200, Andreas Tille wrote:
> 12:12:27: XRC error: 90: too many children in grid sizer: 12 > 3 x 1 
> (consider omitting the number of rows or columns)
> 12:12:27: XRC error: 90: unexpected item in sizer
> 12:12:27: XRC error: 229: invalid column index 5: must be less than 4
> 12:12:27: XRC error: 229: invalid column index 7: must be less than 4

The first number is the line number in the XRC file (unhelpfully it
doesn't say which, but a quick grep reveals it must be
dicompyler/resources/main.xrc in both cases.

First error is that the sizer is given 3 columns and 1 row and 12 items
to add.  I just omitted specifying the number of rows as it suggested,
which seems more robust to further items being added.

The second is that growable columns are set as 1,3,5,7 in a sizer with
4 columns.  I've no idea what's intended, or how wx2.8 fixes up the
mismatch, but raised that to 8 columns (so 7 < 8).  If that changes the
layout dropping 5 and 7 from the list would also make the error go away.

Patch for that attached (but untested, as the pubsub stuff means I can't
actually run the application).

> $ dicompyler 
> ERROR: Unhandled exception: Traceback (most recent call last):
>   File "/usr/bin/dicompyler", line 9, in <module>
>     load_entry_point('dicompyler==0.4.2', 'console_scripts', 'dicompyler')()
>   File "/usr/share/dicompyler/dicompyler/main.py", line 946, in start
>     app = dicompyler(0)
>   File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8631, 
> in __init__
>     self._BootstrapApp()
>   File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8196, 
> in _BootstrapApp
>     return _core_.PyApp__BootstrapApp(*args, **kwargs)
>   File "/usr/share/dicompyler/dicompyler/main.py", line 938, in OnInit
>     dicompylerFrame = MainFrame(None, -1, "dicompyler", self.res)
>   File "/usr/share/dicompyler/dicompyler/main.py", line 235, in __init__
>     parent = None, appname = 'dicompyler', name = 'Options')
>   File "/usr/share/dicompyler/dicompyler/preferences.py", line 35, in __init__
>     pub.subscribe(self.SetPreferenceTemplate, 'preferences.updated.template')
> TypeError: unbound method subscribe() must be called with Publisher instance 
> as first argument (got instancemethod instance instead)
> 
> Error in sys.excepthook:
> Traceback (most recent call last):
>   File "/usr/share/dicompyler/dicompyler/main.py", line 45, in LogExcepthook
>     pub.sendMessage('logging.exception', text)
> TypeError: unbound method sendMessage() must be called with Publisher 
> instance as first argument (got str instance instead)

It looks like you need to pass a Publisher() object not a string as the
first parameter there.  I don't have time to look into that right now
though.

Cheers,
    Olly
Description: Fix XRC errors reported by wxPython 3.0
Author: Olly Betts <o...@survex.com>
Bug-Debian: https://bugs.debian.org/759056
Forwarded: no
Last-Update: 2014-09-11

--- dicompyler-0.4.2.orig/dicompyler/resources/main.xrc
+++ dicompyler-0.4.2/dicompyler/resources/main.xrc
@@ -154,7 +154,6 @@
                     </object>
                   </object>
                   <cols>3</cols>
-                  <rows>1</rows>
                   <vgap>5</vgap>
                   <hgap>5</hgap>
                   <growablecols>1</growablecols>
@@ -222,7 +221,7 @@
                     <option>1</option>
                     <flag>wxALL|wxEXPAND|wxALIGN_CENTRE</flag>
                   </object>
-                  <cols>4</cols>
+                  <cols>8</cols>
                   <rows>2</rows>
                   <vgap>5</vgap>
                   <hgap>5</hgap>

Reply via email to