- (void) setCursor: (NSCursor*) cursor
{
self->currentCursor = cursor;
- [[self window] invalidateCursorRectsForView:self];
+ dispatch_async(dispatch_get_main_queue(), ^
+ {
+ [[self window] invalidateCursorRectsForView:self];
+ });
}
- (void) resetCursorRects
dispatch_async(dispatch_get_main_queue(), ^
{
self->pasteboard_timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(onPasteboardTimerFired:) userInfo:nil repeats:YES];
+
+ NSTrackingArea* trackingArea = [[NSTrackingArea alloc] initWithRect:[self
+ visibleRect] options:NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved |
+ NSTrackingCursorUpdate | NSTrackingEnabledDuringMouseDrag |
+ NSTrackingActiveWhenFirstResponder owner:self userInfo:nil];
+ [self addTrackingArea:trackingArea];
+ [trackingArea release];
});
- NSTrackingArea* trackingArea = [[NSTrackingArea alloc] initWithRect:[self
- visibleRect] options:NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved |
- NSTrackingCursorUpdate | NSTrackingEnabledDuringMouseDrag |
- NSTrackingActiveWhenFirstResponder owner:self userInfo:nil];
- [self addTrackingArea:trackingArea];
- [trackingArea release];
}
- (void) setScrollOffset:(int)xOffset y:(int)yOffset w:(int)width h:(int)height
dialog.domain = [NSString stringWithCString:*domain encoding:
NSUTF8StringEncoding];
- [dialog performSelectorOnMainThread:@selector(runModal:) withObject:[view
- window] waitUntilDone:TRUE];
+ dispatch_sync(dispatch_get_main_queue(), ^
+ {
+ [dialog performSelectorOnMainThread:@selector(runModal:) withObject:[view window] waitUntilDone:TRUE];
+ });
BOOL ok = dialog.modalCode;
if (ok)
}
windows_to_apple_cords(mfc->view, &newDrawRect);
- [view setNeedsDisplayInRect:newDrawRect];
+ dispatch_sync(dispatch_get_main_queue(), ^
+ {
+ [view setNeedsDisplayInRect:newDrawRect];
+ });
gdi->primary->hdc->hwnd->ninvalid = 0;
return TRUE;
}
void windows_to_apple_cords(MRDPView* view, NSRect* r)
{
- r->origin.y = [view frame].size.height - (r->origin.y + r->size.height);
+ dispatch_sync(dispatch_get_main_queue(), ^
+ {
+ r->origin.y = [view frame].size.height - (r->origin.y + r->size.height);
+ });
}
void sync_keyboard_state(freerdp* instance)