[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

2304.0. "FetchWidget error??" by KAOU35::DLEROUX () Mon Feb 19 1990 14:25

    
    I have come accross a problem which I can't understand.
    
    My application controls multiple displays.  It can now open all
    the displays and control them.  It can also close them, but it bombs
    out when I try to open any display after I have closed one.
    
    My code goes like this:
                      
    
    display[3] = XtOpenDisplay( app_con, "NODE1", "MYAPP",
    				"example", NULL, 0, &argc, argv );
    top_widget[3] = XtAppCreateShell( "MYAPP", "example",
    			applicationShellWidgetClass, display[3],
    				NULL, 0 );
    
    ...
    DwtFetchWidget( my_DRMHierarchy, "main_window", top_widget[3],
    			&main_window[3], &dummy_class );
    
    ...
    
    XtDestroyWidget( top_widget[3] );
    XtCloseDisplay( display[3] );
    
    ...
    
    display[3] = XtOpenDisplay( app_con, "NODE2", "MYAPP",
    				"example", NULL, 0, &argc, argv );
    top_widget[3] = XtAppCreateShell( "MYAPP", "example",
    			applicationShellWidgetClass, display[3],
    				NULL, 0 );
    
    ...
    DwtFetchWidget( my_DRMHierarchy, "main_window", top_widget[3],
    			&main_window[3], &dummy_class );
    
    
    I get an access violation on this last line. 
    
    Am I destroying the previous contents of *[3] correctly?  
    I can't understand why fetching the main_window_widget works until
    I have destroyed a top_widget and doesn't work after having done
    this.
    
    Thanks in advance,
    
    Dan
T.RTitleUserPersonal
Name
DateLines
2304.1DECwindows V2?DECWIN::KLEINMon Feb 19 1990 16:3513
This sounds like a serious DECwindows V2 (VMS only) bug that causes
random ACCVIOs when opening multiple display (XtOpenDisplay) from
a single application.

I was told that it was fixed for DECwindows V2.1 (VMS V5.4).  In
the meantime, I am searching for a workaround but have found none.

If the program works under DECwindows V1 and fails under DECwindows V2,
this it is highly likely that you found the same toolkit bug.  If your
program does not work under V1 either, then it is more likely to be
an application bug.

-steve-
2304.2Hierarchy?KAOU35::DLEROUXMon Feb 19 1990 17:0212
    
    Could I be corrupting my DRMHierarchy in some way?  I have just
    noticed that I get the error at the next FetchWidget call after
    I destroy one of the top level widgets.
    
    Since all of my shell widgets depend on the same hierarchy is it
    possible that destroying one of them corrupts the hierarchy?
    
    Thanks
    
    Dan
    
2304.3Something to try...LEOVAX::TREGGIARITue Feb 20 1990 07:5610
    There was a bug in the Intrinsics resources caching mechanism.  I know
    it is fixed in R4.  I don't know if it was ever fixed before that.  The bug
    is that the one of the pieces of data the caching mechanism looks at is
    the display-id.  If you close a display and open a new one and get the
    same id (which is possible), the caching mechanism would give you back
    answers which were not appropriate for the new display.
    
    Try not closing the old display to see if that makes any difference.
    
    Leo
2304.4Something is better than nothing.KAOU35::DLEROUXTue Feb 20 1990 08:348
    
    Thanks alot for that "something to try".
    
    We have been getting headaches around here trying to figure out
    what I had done wrong.
    
    Dan L.