[comp.windows.x] are these X toolkit bugs?

swick@ATHENA.MIT.EDU (Ralph R. Swick) (08/23/88)

     Date:  22 Aug 88 21:50:09 GMT
     From:  sgi!daisy!klee@bloom-beacon.mit.edu  (Ken Lee)

     [...]
     on a Sun 386i running SunOS 4.0.

     1.  In my programs, thumbing scrollbars with the middle button (incorrectly)
         always returns 0 percentage.

There is a broken interface defined for the scrollbarWidget callback
procedures; the call_data argument is defined to be a float, which C
insists upon promoting to a double.  When the Intrinsics pass this
around as a caddr_t, you loose bits which may have been important to
you.  The workaround is to do an XtGetValues(XtNtop) within the
callback.

     2.  I can't get XGetValues to work for strings.

Common problem.  A String resource is defined to be a pointer.
What you get back from XtGetValues is the pointer; you have to
do the copy yourself, if you want it.

     3.  viewport widgets seem to ignore size arguments.

Only before they're realized.  The actual semantics are:
  size = IsRealized ? current_size : child_size

If you want to enforce a fixed size on the Viewport, you'll have
to rely on the parent to do so, or do an XtSetValues after realizing.
One might claim that this is a bug, but the Intrinsics' philosophy
of geometry management is to localize enforcement of all geometry
constraints in the parent.