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?