2379 |
|
// Set new cursor image if it was changed |
2380 |
|
if (hw_mac_cursor_accl && cursor_changed) { |
2381 |
|
cursor_changed = false; |
2382 |
< |
memcpy(cursor_image->data, MacCursor + 4, 32); |
2383 |
< |
memcpy(cursor_mask_image->data, MacCursor + 36, 32); |
2382 |
> |
uint8 *x_data = (uint8 *)cursor_image->data; |
2383 |
> |
uint8 *x_mask = (uint8 *)cursor_mask_image->data; |
2384 |
> |
for (int i = 0; i < 32; i++) { |
2385 |
> |
x_mask[i] = MacCursor[4 + i] | MacCursor[36 + i]; |
2386 |
> |
x_data[i] = MacCursor[4 + i]; |
2387 |
> |
} |
2388 |
|
XDisplayLock(); |
2389 |
|
XFreeCursor(x_display, mac_cursor); |
2390 |
|
XPutImage(x_display, cursor_map, cursor_gc, cursor_image, 0, 0, 0, 0, 16, 16); |