steve@mnetor.UUCP (Steve Rees) (05/30/91)
I'm having an interesting problem with the XmNbackgroundPixmap resource
in subclasses of the XmManager widget (e.g. RowColumn.) It's default value
(in the documentation and in real life [i.e. in appearance and through
XtGetValues()]) is XmUNSPECIFIED_PIXMAP -- no problemo.
I can use XtSetValues() to change it to something else -- also, no problemo.
But, if I attempt to set it back to XmUNSPECIFIED_PIXMAP, I get a Motif
warning "Cannot set pixmap resource to unspecified." The SetValues()
routine in Manager checks for new value = UNSPECIFIED_PIXMAP, and sets the
pixmap back to current value. Why does it do this? There's no explanation
given anywhere. Plus, other Motif widgets (e.g. label) will let you go back to
unspecified with no debate. Is it something to do with its responsibilities
as a manager?
But wait! There's more... The intention of the SetValues() code in Manager
seems to be to reject UNSPECIFIED_PIXMAP and instead keep the old pixmap, and
in fact, if you do an XtGetValues(), you get the old pixmap back.
Unfortunately, the screen shows _no_pixmap_ -- it's like the UNSPECIFIED_PIXMAP
succeeded! So, not only does the Manager backgroundPixmap policy seem
braindamaged, it's also buggy! (BTW, an explicit XtSetValues() with the old
pixmap is ignored, since the widget thinks it's already displaying the old
pixmap.)
Anybody have any suggestions? Reasons for XmManager's policy?
We're using Motif 1.1.1.
--
Steve Rees
{uunet|utzoo}!mnetor!steve or (better) steve%mnetor.uucp@uunet.uu.net
Ma Bell: +1 416 475 8980 ext. 322
Why isn't ping pong called pik pok?