>>>>> On Fri, 14 Jul 2000 16:39:52 -0400, "Mitch Miers" <[EMAIL PROTECTED]> 
>said:

  Mitch> ;)  It *is* a little tricky.

  Mitch> What you need to know is that the RealizeWrapper is effectively
  Mitch> chained, because XmDialogShell uses XtInheritRealize, and
  Mitch> realize calls super_class->core_class.realize
  Mitch> (which is Vendor).  (Note the WindUp loop in RealizeWrapper,
  Mitch> where we determine which class to use).

  Mitch> So it will be called multiple times, with different
  Mitch> widget classes at different points after the wind up.
  Mitch> Specifically, with DialogShell at one point and VendorShell
  Mitch> later.

  Mitch> So, while XmIsDialogShell(w) will always be true,
  Mitch> wc may or may not be == xmDialogShellWidgetClass.  See what
  Mitch> I mean?  It depends on the wind up.  The check needs to be
  Mitch> done so that the Realize callback isn't called twice.  Just
  Mitch> using !XmIsDialogShell(w) means that it will *never* be called.

Yes, sorry, I was being dense not seeing that wc changes.

Since VSEP_RealizeCallback needs a specific class, why not check for
XmIsVendorShellExt(ext->widget)?

__Martin

Reply via email to