d.scale & d.label crash XDRIVER in Panel_save

Ronald Wiemer RWIEM at archis.nl
Wed Mar 20 07:00:00 EST 1996


> > I discovered recently that d.scale and d.label will crash the XDRIVER
> > if you select positions near the boundary of the screen.
> > 
> > The crash occurs in the Panel_save function, which is in this file:
> > 
> >   $GISBASE/src/display/devices/XDRIVER/XDRIVER/Panel.c
> > 
> > The crash occurs in a call to XGetImage().  Four of the arguments to
> > XGetImage are: left, top, width, height.  The first two (left, top)
> > are passed in.  The last two are calculated.  All four are tested
> > against externals and adjusted if necessary.  Since these externals
> > APPEAR to be controllable from the GRASS application side, is it
> > necessary to run some prior setup program before running d.scale or
> > d.label?  ...In order to insure the xdriver is correctly set up?
> > Is this a known problem?
> > 
> > Thanks for any advice.
> > 
> > - Bob
> > 
> > --------------------------------------------------------------------------

The problem only occurs when the GRASS-Xwindow is not completely 
within the root window. Xgetimage crashes when one or more of the 
corners are outside the rootwindow. I have tried to resolve this bug, 
the problem however is that the XDRIVER program does not keep track 
of the location of the window on the screen. The only solution is to 
make sure that your GRASS window is fully visible.


Ronald Wiemer
R.O.B. / Archis
Kerkstraat 1
NL 3811 CV Amersfoort
The Netherlands

Tel: ++ 31 33 4634233
Fax: ++ 31 33 4653235





More information about the grass-user mailing list