Ticket #107 (closed defect: fixed)

Opened 4 years ago

Last modified 4 years ago

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@…
Platform: CPU:

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

  Changed 4 years ago by mlennert

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

  Changed 4 years ago by martinl

  • cc grass-dev@… added
  • owner changed from grass-dev@… to martinl
  • status changed from new to assigned

  Changed 4 years ago by martinl

Should be fixed in trunk now, r30878. Martin

follow-up: ↓ 6   Changed 4 years ago by 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.

  Changed 4 years ago by mlennert

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   Changed 4 years ago by martinl

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

  Changed 4 years ago by martinl

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.