[comp.windows.x] Problem with Motif PushButton widget

mikeo@sae.UUCP (Michael Ovington) (06/16/90)

   For a while now, I have occasionally seen an X protocol error when using
the Motif PushButton widget as it tries to repaint the widget. I see
the problem mostly in menus, but have also seen it with non-menu buttons. 
I can't reliably recreate it but have caught it on two different machines
in Syncronous mode in a debugger (stack traces follow).
   Since I'm not creating or manipulating the GC that PushB is using, I'm
guessing it is freeing the GC at the wrong time. 
   Has anyone seen this problem already? And more importantly, does anyone
know of a workaround or if it's fixed in newer releases of Motif (we have 1.0).
I don't have motif source code and use the Motif libraries supplied with the
machine. Even if they are buggy, we still have to generate a product that
our customers can use without having it die.

The actual error is:
X Error:  BadGC, invalid GC parameter
  Request Major code 70 ()
  Request Minor code
  ResourceID 0x100003b
  Error Serial #21578
  Current Serial #21579
Process terminated

On a Unisys 6000 on an expose event I get

Breakpoint at
XlibInt.c: No such file or directory
0xd33bf in _XError:No lines in file
*t
_XError(0x44af9c,0xbfffe47c)   [XlibInt.c]
_XReply(0x44af9c,0xbfffe47c,0,1)   [XlibInt.c]
XSync(0x44af9c,0)   [XSync.c]
_XSyncFunction(0x44af9c)   [XSynchro.c]
XFillRectangle(0x44af9c,0xb0004a,0x470400,3,3,0x41,0x12)   [XFillRect.c]
Redisplay(0x470888,0xbfffe960,0x44c144)   [PushB.c]
DispatchEvent(0xbfffe960,0x470888,0x8000)   [Event.c]
DecideToDispatch(0xbfffe960)   [Event.c]
XtDispatchEvent(0xbfffe960)   [Event.c]
EVT_ProcessEvents()   [evt.c:581]
main(argc=0,argv=0xbfffea04)   [eui.c:2577]

On a DG AViiON while selecting a PushButton in a menubar I get
Breakpoint at
_XError: address 0x16bf74
: No lines in file
*t
_XError()   [0x16bf74]
_XReply()   [0x16b444]
XSync()   [0x168cf4]
_XSyncFunction()   [0x168d6c]
XFillRectangle()   [0x15dd14]
Redisplay()   [0xdd848]
Arm()   [0xdbabc]
_XtTranslateEvent()   [0x1526f8]
DispatchEvent()   [0x139534]
DecideToDispatch()   [0x139d10]
XtDispatchEvent()   [0x139d84]
EVT_ProcessEvents()   [evt.c:581]
main()   [0x19e0c]