sperber(a)informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor]) writes:
 I'm having problems with the frame code which leads to XEmacs
crashing
 on AIX 4.3.  There's this code in EmacsFrame.c:
 
 void
 EmacsFrameRecomputeCellSize (Widget w)
 {
   EmacsFrame ew = (EmacsFrame) w;
   int cw, ch;
   struct frame *f = ew->emacs_frame.frame;
 
 ... where f ends up being trashed.  Now I wish I knew where the
 emacs_frame component (of type EmacsFramePart) gets created.  However, 
 grepping for EmacsFramePart doesn't exactly reveal much. 
	That's because creating widgets built on top of the X toolkit is
something very *very* obscure ;-)
 Do I need to look into the lwlib stuff? 
	No. Actually, Xt widgets creation involves calls to different
functions stored in the Widget Class structure (emacsFrameClassRec). Xt calls
them automatically, and that's why a grep gave you nothing. You might want to
check out the following functions:
  EmacsFrameClassInitialize (void);
  EmacsFrameInitialize (Widget, Widget, ArgList, Cardinal *);
  EmacsFrameRealize (Widget, XtValueMask*, XSetWindowAttributes*);
and likely in your case
  EmacsFrameResize (Widget widget);
- class_initialize is called only once (when creating the first widget of this 
  class). 
- initialize and realize are called for each new instance of this widget
  class.
	Hope this helps.
-- 
    /     /   _   _       Didier Verna        
http://www.inf.enst.fr/~verna/
 - / / - / / /_/ /      E.N.S.T. INF C214        mailto:vernaļ¼ inf.enst.fr
/_/ / /_/ / /__ /        46 rue Barrault        Tel.   (33) 01 45 81 80 72
                      75634 Paris  cedex 13     Fax.   (33) 01 45 81 31 19