[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

617.0. "manage widget in callback" by MUNICH::KOLB () Tue Apr 18 1989 10:40

    If I manage a widget in a callback-routine the widget gets only 
    visible after the 'ret' of the callback. WHY?
    Why is it not visible after the XtManageChild-routine?
    I also tested this problem with XtMapWidget.. and had the same
    result.

T.RTitleUserPersonal
Name
DateLines
617.1X is asynchronousSDSVAX::SWEENEYWall Street is my beatTue Apr 18 1989 10:5321
    X, in general, and the X Toolkit, of which DECwindows is a layer on top,
    is heavily asynchronous, that is to say the state of the client and the
    state of the server (or what is currently displayed) is not
    synchronized by the intent of the X designers.
    
    This design facilitates non-blocking client applications, except at the
    explicit point where the client has no output and no computing to
    perform and then the application waits for an X event.
    
    To get output displayed immediately one has to flush the output buffer
    (XFlush is the routine).  But you shouldn't have to do that.
    
    Your program should not need to count on XtManageChild mapping the
    window in the middle of the callback routine.  As far as an
    applications is concerned (or ought to be concerned), all output
    ..eventually.. gets displayed.
    
    Could you explain why you need synchronization of XtManageChild in your
    callback routine?
                                                          

617.2During debugging it's nice to see cause and effectHANNAH::MESSENGERBob MessengerWed Apr 19 1989 00:317
Re: .0

Elaborating on .1, during debugging it's often useful to make all your X calls
synchronous by calling XSynchronize.  This is a *big* performance hit, though.

				-- Bob