Re: [AD] GUI kills OS cursor

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Evert Glebbeek wrote:
Now, my theory is that setting the OS cursor sets _mouse_screen to NULL, and the subsequent call to show_mouse(gui_bmp) is ignored (you still get the OS cursor).


I think it still sets _mouse_screen, but show_mouse() calls to anything other than the physical screen are ignored.

That might be it, then. If _mouse_screen gets set to screen (or NULL), do_dialog will "save" that value, change to the buffer (and be ignored), then it'll attempt to set _mouse_screen back to screen (or NULL) and revert it back to software. I know calling show_mouse(NULL) turns off the OS cursor (as it should), but I don't know what show_mouse(screen) would do.

If that happens to be the case, the attached patch should fix the problem. If that's not the case, or if there's an unforeseen side-effect of this change, then I'm not sure what to do...


Do you have an example programme that demonstrates the problem easily? Hmm... maybe check with exsyscur first... I think Peter mentioned that there were issues with it.

Well, exsyscur seems to work mostly alright for me, with the exception that MOUSE_CURSOR_ALLEGRO doesn't report HW_CURSOR or SYSTEM_CURSOR (but I'm not sure if my system is capable of using them for custom cursors).

Also, any possible relation between this problem and bug #1176533 on the tracker?

Doesn't sound it. That bug sounds like the system cursor isn't hidden when the software cursor is in use, and that the software cursor sometimes shows at a different spot.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/