On Thursday 05 December 2002 3:01 pm, John Levon wrote:
> On Thu, Dec 05, 2002 at 03:04:11PM +0000, Angus Leeming wrote:
> > I'm very happy to use your approach, but would like to see the code so I
> > can compare/contrast ;-)
>
> Here's the minimal bit. Note that it works fine with busy cursor simply
> because of the fl_deactivate_all_forms() in prohibitInput - we never see
> enter/leave events. This is still a hack, but it's xforms/ only, so
> super.
>
> (of course this means we must deal with unbalanced enter/leaves, I
> think)
>
> Still compiling, so ...
>
> john

Ummm. As you say, a hack. 

I think I prefer mine because it's guaranteed to do the right thing in all 
cases.

(At least use the toolkit. Get rid of XWorkArea::enter and use the thing 
below. Together with similar in my patch in XFormsView.)

Angus

Index: XWorkArea.C
===================================================================
 int XWorkArea::work_area_handler(FL_OBJECT * ob, int event,
                                FL_Coord, FL_Coord,
@@ -512,9 +534,11 @@

        case FL_ENTER:
                lyxerr[Debug::WORKAREA] << "Workarea event: ENTER" << endl;
+               fl_set_cursor(getForm()->window, XC_xterm);
                break;
        case FL_LEAVE:
                lyxerr[Debug::WORKAREA] << "Workarea event: LEAVE" << endl;
+               fl_set_cursor(getForm()->window, FL_DEFAULT_CURSOR);
                break;
        case FL_DBLCLICK:
                if (ev) {

Reply via email to