dolanmic@nic.cerf.net (Michael A. Dolan) (06/11/91)
was hoping that someone reading this group could help with with the
following problem:
I need to change the pointer image during the execution of a motif app.
From within a callback, I am calling the standard Xlib stuff to put
up an hourglass, using the following code:
change_cursor( w )
widget w;
{
XDefineCursor( XtDisplay( w ), XtWindow( w ),
XcreateFontCursor( XtDisplay( w ), XC_gumby ) );
}
and I am tearing it down with:
unchange_cursor( w )
{
XUndefineCursor( XtDisplay( w ), XtWindow( w ) );
}
Nothing appears to happen, however. Is there something special, or
a special circumstance, under which I can change the cursor shape?
Any help would be appreciated.
Please reply back at age!syd@ucsd.com if you can help.
My worry here is that Motif won't allow me to do this.
Syd Logan
Software Engineer,
AGE Logic, Inc.
age!syd@ucsd.com
(619)455-8600janzen@mprgate.mpr.ca (Martin Janzen) (06/18/91)
In article <447@nic.cerf.net>, dolanmic@nic.cerf.net (Michael A. Dolan) writes: >[...] >I need to change the pointer image during the execution of a motif app. >From within a callback, I am calling the standard Xlib stuff to put >up an hourglass, using the following code: > >change_cursor( w ) >widget w; >{ > XDefineCursor( XtDisplay( w ), XtWindow( w ), > XcreateFontCursor( XtDisplay( w ), XC_gumby ) ); >} This looks like a memory leak to me; you'd probably be better off calling XCreateFontCursor only once and storing the resulting Cursor in a global variable. >and I am tearing it down with: > >unchange_cursor( w ) >{ > XUndefineCursor( XtDisplay( w ), XtWindow( w ) ); >} > >Nothing appears to happen, however. You need to let the X server know about your cursor change. In Motif, all you have to do is to call XmUpdateDisplay(w) after changing the cursor. >[...] >Please reply back at age!syd@ucsd.com if you can help. My mail bounced, so here it is. -- Martin Janzen janzen@mprgate.mpr.ca (134.87.131.13) MPR Teltech Ltd. Phone: (604) 293-5309 8999 Nelson Way Fax: (604) 293-6100 Burnaby, BC, CANADA V5A 4B5