1543 |
|
#ifdef SHEEPSHAVER |
1544 |
|
bool video_can_change_cursor(void) |
1545 |
|
{ |
1546 |
< |
return (display_type == DISPLAY_WINDOW); |
1546 |
> |
static char driver[] = "Quartz?"; |
1547 |
> |
static int quartzok = -1; |
1548 |
> |
|
1549 |
> |
if (display_type != DISPLAY_WINDOW) |
1550 |
> |
return false; |
1551 |
> |
|
1552 |
> |
if (quartzok < 0) { |
1553 |
> |
if (SDL_VideoDriverName(driver, sizeof driver) == NULL || strncmp(driver, "Quartz", sizeof driver)) |
1554 |
> |
quartzok = true; |
1555 |
> |
else { |
1556 |
> |
// Quartz driver bug prevents cursor changing in SDL 1.2.11 and later |
1557 |
> |
const SDL_version *vp = SDL_Linked_Version(); |
1558 |
> |
quartzok = SDL_VERSIONNUM(vp->major, vp->minor, vp->patch) <= SDL_VERSIONNUM(1, 2, 10); |
1559 |
> |
} |
1560 |
> |
} |
1561 |
> |
|
1562 |
> |
return quartzok; |
1563 |
|
} |
1564 |
|
#endif |
1565 |
|
|
2236 |
|
SDL_FreeCursor(sdl_cursor); |
2237 |
|
sdl_cursor = SDL_CreateCursor(MacCursor + 4, MacCursor + 36, 16, 16, MacCursor[2], MacCursor[3]); |
2238 |
|
if (sdl_cursor) { |
2239 |
+ |
SDL_ShowCursor(private_data == NULL || private_data->cursorVisible); |
2240 |
|
SDL_SetCursor(sdl_cursor); |
2241 |
|
#ifdef WIN32 |
2242 |
|
// XXX Windows apparently needs an extra mouse event to |