[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

2832.0. "Infinite loop inside XtManageChild" by AIAG::LATHAM (Flags do not wave in a vacuum) Tue May 29 1990 18:51

I have an application that uses a pop-up message box.  It was working fine
until I decided to make it modeless (it was obscuring part of the error it
was reporting).  When I changed style = DwtModeless, the application went
into an infinite loop inside XtManageChild on that widget.

Any ideas on how I can find out what's happening?

Thanks,
Barry
T.RTitleUserPersonal
Name
DateLines
2832.1Evidence for looping?CSC32::B_KEMPI just answer the phoneThu May 31 1990 20:414
   How do you know that it is looping?  Could you post an example?


Bill
2832.2Here is the UIL description of the message box and the code it gets stuck in.AIAG::LATHAMFlags do not wave in a vacuumTue Jun 05 1990 19:3645
I know its looping because I run it with the debugger on and step through it
and look at the pc and the pc loops somewhere inside XtManageChild.

object
        MBOX    : message_box {
                arguments {
                        default_position = true;
                        resize = DwtResizeShrinkWrap;
!                       style = DwtModeless;    Commented out to work
                        title = "DECtree Messages";
                };
                callbacks {
                        create = procedure create_proc (k_mbox);
                };
        };



MakeMessageBox1(str)
char *str;
{
  char *s;
  DwtCompString cs;


  for (s=str;*s;s++) {
      if (*s==9)  *s=' ';
  }
  if (toplevel==NULL) { fprintf(stderr,str); return; };   /* no DECwindows */
        cs = DwtLatin1String(str);

        if (widget_array[k_mbox] == NULL)

                /* First time fetch */

                if (DwtFetchWidget(dt_DRMHierarchy,"MBOX",
                                   toplevel,
                                   &widget_array[k_mbox],
                                   &class) != DRMSuccess)
                        dt_error("Can't fetch MBOX");
        set_something(widget_array[k_mbox],DwtNlabel,cs);
        XtFree(cs);
        XtManageChild(widget_array[k_mbox]);
}
       
2832.3It works now, I'm not sure whyAIAG::LATHAMFlags do not wave in a vacuumThu Jun 21 1990 18:001
could have been fixed when I fixed a malloc problem I had elsewhere.