У меня есть следующий код для установки курсора из существующего CGImage:
NSPoint hotspot = ...;
CGImageRef cgimg = ...;
if(!cgimg)
return nullptr;
NSImage* nsimg = [[NSImage alloc] initWithCGImage:cgimg size:NSZeroSize];
if(!nsimg)
return nullptr;
NSCursor* pcur = [[NSCursor alloc] initWithImage: nsimg hotSpot: hotspot];
if(!pcur)
return nullptr;
[nsimg release];
// later in the code I set it as current:
[pcur set];
Проблема в том, что он отображается непоследовательно, иногда он выглядит нормально, иногда показывает мусор:
Я использую точно такой же CGImageRef, который отображается как обычное изображение (тот, что под полем).
Есть идеи, в чем может быть проблема?
Стоковые курсоры в том же приложении отрисовываются нормально. Это на OS X "El Capitan", если это имеет значение.