Re: Problem with entry widget in 3.99.1

From: Grant Edwards <grante_at_reddwarf.frco.com>
Date: Mon, 18 May 1998 14:30:24 -0500

On Sat, May 16, 1998 at 03:55:58PM +0200, Thomas Buerger wrote:

> > > I just built and installed 3.99.1 under Solaris 2.5.1, and the following
> > > script works under 3.1.1 but not 3.99.1
> > >
> > > (define s "hi there")
> > > (pack (entry '.e :textvariable 's))
> > >
> > > Under 3.1.1 the entry widget displays "hi there" and allows me to edit the
> > > string -- and if the variable s is changed, that change is reflected in the
> > > entry widget.
> > >
> > > Under 3.99.1 the widget displays "s" and doesn't allow it to be changed.
> > >
> > This little program works on my Linux box with the correct behaviour (i.e.
>
> Yes, it works, but it should not...
>
> > Perhaps you have something (e.g. a resource) which sets the entry in disabled
> > state. Just an idea.
>
> ... no, it's not the state: In the file tcl-glue.c the function
> "char *STk_tcl_getvar(char *name, char *env)" does not return
> a value. Patch it...
> $ diff tcl-glue.c.orig tcl-glue.c
> 192c192
> < STk_convert_for_Tcl(V, &dumb);
> ---
> > return STk_convert_for_Tcl(V, &dumb);
>
> ... and it works under Solaris. I do not know why it works without patch
> on Linux? Perhaps the Linux-Kernel is more intelligent and finds little
> errors like this ;-)

Probably has to due with the calling conventions used by the compiler (which
differ on different processors). If STk_convert...(...) leaves its return
value in a particular register, and it's still there when the calling
function returns, then it will be seen as the return value at that level
also.

I'm building a patched version under Solaris and will report results later...

-- 
Grant Edwards
Rosemount Inc.
grante_at_rosemount.com
Received on Mon May 18 1998 - 21:40:19 CEST

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST