[AD] Re: OSX: mouse cursor doesn't appear on test program's mode selector

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


>No, enable_hardware_cursor() should never imply show_mouse(). This sounds >like a different bug though: the GUI routines (at least popup_dialog(), I >think) should implicitly display the mouse cursor if it is hidden at the
 >moment.
The code in do_dialog looks like this:

if (!is_same_bitmap(_mouse_screen, gui_bmp) && !(gfx_capabilities&GFX_HW_CURSOR))
      show_mouse(gui_bmp);

Is the 'if' part necessary?

Comparing the Windows DirectX driver and the OSX driver, it looks like the latter is setting the GFX_HW_CURSOR flag itself during graphics driver initialisation, whereas the former doesn't. It's very complicated but it seems that that flag is set in the platform-independent mouse.c, in response to the presence of certain entries in the vtable.

The attached patch makes the OSX driver work like the DirectX one, and seems to fix the problem for me.

 >Have you looked at adding the missing vtable entries for
 >enable/disable_hardware_cursor()? Those would need to be added in any
 >case, even if that doesn"t solve this problem.
Yes, that's done in the patch I submitted in my previous email.

 >Evert

Pete

Attachment: gfx_capabilities.diff
Description: Binary data







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