#40 Cursors via NSCursor

open
None
5
2002-09-03
2002-05-16
Greg Parker
No

Implementation of X11 cursor handling using NSCursor instead of QuickDraw CCursHandle.

Replaces hw/darwin/bundle/quartzCursor.c. hw/darwin/bundle/Imakefile also needs to be updated to refer to the .m instead of the .c.

Tested with fvwm2's window sizing cursors (various sizes). NOT tested with a real color cursor. NOT tested with cursors larger than 16x16. MallocDebug finds no obvious errors.

Discussion

  • Greg Parker
    Greg Parker
    2002-05-16

    quartzCursor.m

     
    Attachments
  • Greg Parker
    Greg Parker
    2002-05-16

    Logged In: YES
    user_id=37183

    Oops, you should probably disable the CURSOR_DEBUG function before committing this.

     
  • Greg Parker
    Greg Parker
    2002-05-21

    Logged In: YES
    user_id=37183

    This patch is buggy: it crashes when the X server restarts (i.e. after all X11 clients exit). Adrian also reports a crash using Netscape, but I haven't reproduced it yet.

     
  • Greg Parker
    Greg Parker
    2002-05-21

    Logged In: YES
    user_id=37183

    Patch for patch. This fixes my restart crash and probably Adrian's Netscape crash:

    quartzCursor.m:276
    - NSCursor *nsCursor = (NSCursor *)pCursor->devPriv[pScreen->myNum];
    + NSCursor *nsCursor = pCursor ? (NSCursor *)pCursor->devPriv[pScreen->myNum] : nil;

     
  • Logged In: NO

    I am new to the Unix world. Xfree86 runs on my powerbook G4 800. I
    was able to redirect my display from a Unix box but on app I was running
    asked for some fonts: timr12, timb14, helvr12, helvr14, helvb12, helvb14.
    How do I get these fonts on Xfree86.

    Regards,

    Johnny

     
  • Logged In: YES
    user_id=133579

    This patch has not been forgotten, it is "maturing". :-) This patch works as advertised in rootless, but breaks cursor switching in full screen Quartz mode. We are considering changing the full screen implementation details so this patch would work there as well. This would have a number of advantages, but until full screen is straightened out this patch is in a holding pattern.

     
    • assigned_to: nobody --> torrey
     
  • Greg Parker
    Greg Parker
    2002-09-04

    Logged In: YES
    user_id=37183

    It may be desirable to put this patch on hold. Jaguar contains support for large cursors (64x64 with sufficient hardware), but only through QuickDraw. NSCursor doesn't support the large cursors yet. We may want to implement large QD cursors and not use NSCursor until later, if at all. (Jaguar also may fix the QD cursor crashes that helped motivate this change in the first place.)