[GRASS-dev] Re: [GRASS-trac] #12: gis.m->Help->About system doesn't work (launches another gis.m instance)

Glynn Clements glynn at gclements.plus.com
Tue Jan 1 05:55:27 EST 2008


GRASS-trac wrote:

> #12: gis.m->Help->About system doesn't work (launches another gis.m instance)
> ----------------------+-----------------------------------------------------
>   Reporter:  neteler  |       Owner:  grass-dev at lists.osgeo.org
>       Type:  defect   |      Status:  new                      
>   Priority:  major    |   Milestone:  6.3.0                    
>  Component:  default  |     Version:  unspecified              
> Resolution:           |    Keywords:                           
> ----------------------+-----------------------------------------------------
> Comment (by cmbarton):
> 
>  Replying to [ticket:12 neteler]:
>  > Clicking on 'About System' within the gis.m Help menu launches a new set
>  of gis.m windows instead of opening a tcl/tk window with system
>  parameters. The newly created gis manager toolbar says "Tk System
>  Information".
>  >
>  > PS: moved here from
>  http://wald.intevation.org/tracker/?func=detail&atid=204&aid=553&group_id=21
> 
>  Is this function worth the trouble of trying to fix?

This is just a symptom of a larger problem, namely that the Gm::errmsg
procedure is defined in gm.tcl, which cannot be "source"d (because
doing so will "run" gis.m).

Gm::errmsg belongs in a "library", i.e. a Tcl source file which can be
"source"d from other Tcl source files.

Also: gm.tcl calls Gm::errmsg from top-level code at the beginning of
the file (the code which copies various g.gisenv settings into $env),
although the procedure isn't actually defined until much later in the
file. If any of those "catch" statements actually catch an error, the
handler will throw an error due to Gm::errmsg being undefined.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list