From: root@atinc.uucp (Operator)
Subject: form attachment problem
Organization: atinc.com
Date: Wed, 2 Sep 1992 19:37:05 GMT

I have implemented a widget using X toolkit Intrinsics.  I've tested this widget
under the Athena widget set (Xaw) and HP widget set (Xw), using their implementation
of form widget class as the parent, with no problems.  Since, the target application
development envir. is Motif, I core dump using form attachments of more than
2 sides.  That is, if a rubber the widget with any 2 sides attached, there is
no problem, but attaching the 3rd and/or 4th side, I get a core dump.  The core
dump occurs when making the XtCreateManagedWidget() call, with the attachment
resources setup in the arglist.

I tried different contraint widgets as its parent, with no problems also. Its just
the form widget thats being nasty.

My class record currently looks like this:

typedef struct _FooClassRec {
    CoreClassPart               core_class;
    XmPrimitiveClassPart        primitive_class;
    FooClassPart                foo_class;
}FooClassRec;

I've even tried not subclassing the primitive_class for Motif, still got the problem.

The ClassRec initiialization follows:

idefine superclass              (&coreClassRec)
 
FooClassRec fooClassRec = {
/* core_class fields */
    /* superclass               */      (WidgetClass) superclass,
    /* class_name               */      "foo",
    /* widget_size              */      sizeof(FooRec),
    /* class_initialize         */      foo_class_initialize,
    /* class_part_initialize    */      NULL,
    /* class_inited             */      FALSE,
    /* initialize               */      foo_initialize,
    /* initialize_hook          */      NULL,
    /* realize                  */      XtInheritRealize,
    /* actions                  */      foo_actions,
    /* num_actions              */      XtNumber(foo_actions),
    /* resources                */      resources,
    /* num_resources            */      XtNumber(resources),
    /* xrm_class                */      NULLQUARK,
    /* compress_motion          */      TRUE,
    /* compress_exposure        */      TRUE,
    /* compress_enterleave      */      TRUE,
    /* visible_interest         */      FALSE,
    /* destroy                  */      foo_destroy,
    /* resize                   */      foo_resize,
    /* expose                   */      foo_expose,
    /* set_values               */      (XtSetValuesFunc)foo_setvalues,
    /* set_values_hook          */      NULL,
    /* set_values_almost        */      XtInheritSetValuesAlmost,
    /* get_values_hook          */      NULL,
    /* accept_focus             */      XtInheritAcceptFocus,
    /* version                  */      XtVersion,
    /* callback_private         */      NULL,
    /* tm_table                 */      XtInheritTranslations,
    /* query_geometry           */      NULL,
    /* display_accelerator      */      XtInheritDisplayAccelerator,
    /* extension                */      NULL
  },
  {  /* XmPrimitive */
        _XtInherit,
        _XtInherit,
        XtInheritTranslations,
        NULL,
        NULL,
        0,
        NULL
  },
  {
      0
  }
};
 
My question is:
        Do I need to do something special to my widget intrinsics code to behave
properly with Motif?

        Platform: SunOS 4.1.1, XR4, Motif1.1.3

thankx, ronyd@atinc

Newsgroups: comp.windows.x.motif