Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!ucsd!ucbvax!KITCHEN.BELLCORE.COM!aw From: aw@KITCHEN.BELLCORE.COM (Andrew Wason, aw@cellar.bae.bellcore.com) Newsgroups: comp.windows.x.motif Subject: TransientShell Message-ID: <9012010328.AA09995@bellcore.bellcore.com> Date: 1 Dec 90 03:22:42 GMT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: inet Organization: The Internet Lines: 30 I have started using TransientShells in my application in an attempt to avoid the "convenience" of XmDialogShell. I have a XmNcreatePopupChildProc function for each dialog to create its children when it is popped up. This doesn't work, because when I create the TransientShell, Motif adds a function to the XmNpopupCallback list. This function, libXm.a(Vendor.o):PopupCallback, appears to attempt to realize the TransientShell. Since the Intrinsics calls the XmNpopupCallback before the XmNcreatePopupChildProc, this function tries to realize my shell before it has any children and I get a "shell has zero width/height error". I solved this by doing an XtRemoveAllCallbacks on XmNpopupCallback immediately after creating my TransientShell. Everything seems to work find now, but since I don't have source I am afraid this PopupCallback() function does something else and removing it may end up screwing me later. Does anyone know what PopupCallback() does? Is there anything else I should be worried about when substituting TransientShell for XmDialogShell? Thanks, Andrew -------------------------------------------------------------------------------- Andrew Wason Bell Communications Research aw@cellar.bae.bellcore.com Piscataway, NJ bellcore!cellar!aw