Opened 16 years ago

Closed 16 years ago

#107 closed defect (fixed)

wxgrass: trying to set options for scalebar or legend gives TypeError

Reported by: mlennert Owned by: martinl
Priority: major Milestone: 6.4.0
Component: Python Version: svn-trunk
Keywords: wxgrass overlay scalebar legend Cc: mlennert@…, grass-dev@…
CPU: Unspecified Platform: Unspecified

Description

Clicking on the 'Set options' of either the scalebar or the legend overlay in the map display, I get the following traceback and no options window:

Traceback (most recent call last):

File "/home/mlennert/SRC/GRASS/grass_trunk/dist.i486-pc-linux-

gnu/etc/wxpython/gui_modules/mapdisp.py", line 3481, in OnOptions

parentframe=self)

File "/home/mlennert/SRC/GRASS/grass_trunk/dist.i486-pc-linux-

gnu/etc/wxpython/gui_modules/menuform.py", line 1409, in ParseCommand

propwin=self.mf) TypeError : GetOptData() got an unexpected keyword argument 'layer'

My config: grass svn-head 20080327 python-wxgtk 2.8.7.1 python 2.4.4

Change History (7)

comment:1 by mlennert, 16 years ago

Sorry, forgot to mention that this is on Debian/Etch GNU/Linux.

comment:2 by martinl, 16 years ago

Cc: grass-dev@… added
Owner: changed from grass-dev@… to martinl
Status: newassigned

comment:3 by martinl, 16 years ago

Should be fixed in trunk now, r30878. Martin

comment:4 by mlennert, 16 years ago

It is fixed in the sense that the first time I I can now open the set options dialog and set options perfectly. However, when I close the entire "Scale and north arrow" dialog and then reopen it, click on "Options", change an option and then click on OK or Apply, I get the following error:

Traceback (most recent call last):

File "/home/mlennert/SRC/GRASS/grass_trunk/dist.i486-pc-

linux-gnu/etc/wxpython/gui_modules/menuform.py", line 728, in OnApply

self)

File "/home/mlennert/SRC/GRASS/grass_trunk/dist.i486-pc-

linux-gnu/etc/wxpython/gui_modules/gdialogs.py", line 340, in GetOptData

self.parent.MapWindow.overlays[self.ovlId]params = params

File "/usr/lib/python2.4/site-

packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14314, in getattr

raise PyDeadObjectError(self.attrStr % self._name) wx._core . PyDeadObjectError : The C++ part of the DecorationDialog object has been deleted, attribute access no longer allowed.

comment:5 by mlennert, 16 years ago

Little extra info:

In the case of a raster legend, I don't even have to change anything in the Options dialog window to get the error. Just opening the "Legend" dialog a second time, clicking on "Options" and then on "Ok" gives the error.

in reply to:  4 comment:6 by martinl, 16 years ago

Replying to mlennert:

It is fixed in the sense that the first time I I can now open the set options dialog and set options perfectly. However, when I close the entire "Scale and north arrow" dialog and then reopen it, click on "Options", change an option and then click on OK or Apply, I get the following error:

> Traceback (most recent call last):
>   File "/home/mlennert/SRC/GRASS/grass_trunk/dist.i486-pc-
> linux-gnu/etc/wxpython/gui_modules/menuform.py", line 728,
> in OnApply
> 
> self)
>   File "/home/mlennert/SRC/GRASS/grass_trunk/dist.i486-pc-
> linux-gnu/etc/wxpython/gui_modules/gdialogs.py", line 340,
> in GetOptData
> 
> self.parent.MapWindow.overlays[self.ovlId]['params'] =
> params
>   File "/usr/lib/python2.4/site-
> packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14314, in
> __getattr__
> 
> raise PyDeadObjectError(self.attrStr % self._name)
> wx._core
> .
> PyDeadObjectError
> :
> The C++ part of the DecorationDialog object has been
> deleted, attribute access no longer allowed.

Should be fixed now, r30922. Martin

comment:7 by martinl, 16 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.