[PATCH] mi: removed the invisible cursor sprite; use NullCursor instead.

Jamey Sharp jamey at minilop.net
Tue May 18 13:38:20 PDT 2010


For the xfree86 DDX, if hardware cursors are used, the driver is
required to provide a HideCursor function, which will be called
instead of trying to set a null cursor. I think software cursors are
already safe. The other DDXes also look safe, as far as I can tell.

I think UnrealizeCursor is never called on a null cursor. As far as I
can tell, it's only called from FreeCursor and
RealizeCursorAllScreens, and I'm confident both of those won't pass
null. So I'd drop the hunk changing miPointerUnrealizeCursor.

If this patch is correct, I think you should also drop the hunk
changing miPointerRealizeCursor, and instead quit calling
RealizeCursor from CursorDisplayCursor. As far as I can tell, there's
no reason to realize a null cursor. I think everything that handles
null cursors doesn't rely on any setup in RealizeCursor, and treats
them as empty cursors.

With those changes, I'd be fairly confident that this change is safe.

Hey, nothing ever wraps miSpriteCursorFuncRec. Can somebody tell me if
there's some reason not to kill the function pointer tables there and
just call the midispcur.c functions directly from misprite.c?

Jamey


More information about the xorg-devel mailing list