[quartz]Use new (since 10.5) NSTrackingArea instead of older tracking rect.
This commit is contained in:
@@ -266,6 +266,9 @@
|
||||
if (trackingRect)
|
||||
{
|
||||
[self removeTrackingRect: trackingRect];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
|
||||
[(NSTrackingArea*)trackingRect release];
|
||||
#endif
|
||||
trackingRect = 0;
|
||||
}
|
||||
|
||||
@@ -472,13 +475,19 @@ copy_rectangle_argb32 (cairo_surface_t *dest, cairo_surface_t *source,
|
||||
{
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (gdk_window->impl);
|
||||
NSRect rect;
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
|
||||
NSTrackingArea *trackingArea;
|
||||
#endif
|
||||
|
||||
if (!impl || !impl->toplevel)
|
||||
return;
|
||||
|
||||
if (trackingRect)
|
||||
{
|
||||
[self removeTrackingRect: trackingRect];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
|
||||
[(NSTrackingArea*)trackingRect release];
|
||||
#endif
|
||||
trackingRect = 0;
|
||||
}
|
||||
|
||||
@@ -490,10 +499,19 @@ copy_rectangle_argb32 (cairo_surface_t *dest, cairo_surface_t *source,
|
||||
*/
|
||||
|
||||
rect = [self bounds];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
|
||||
trackingArea = [[NSTrackingArea alloc] initWithRect: rect
|
||||
options: NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved | NSTrackingCursorUpdate | NSTrackingActiveInActiveApp | NSTrackingInVisibleRect | NSTrackingEnabledDuringMouseDrag
|
||||
owner: self
|
||||
userInfo: nil];
|
||||
[self addTrackingArea: trackingArea];
|
||||
trackingRect = (NSInteger)[trackingArea retain];
|
||||
#else
|
||||
trackingRect = [self addTrackingRect: rect
|
||||
owner: self
|
||||
userData: nil
|
||||
assumeInside: NO];
|
||||
#endif
|
||||
}
|
||||
|
||||
-(void)viewDidMoveToWindow
|
||||
@@ -509,6 +527,9 @@ copy_rectangle_argb32 (cairo_surface_t *dest, cairo_surface_t *source,
|
||||
if (newWindow == nil && trackingRect)
|
||||
{
|
||||
[self removeTrackingRect: trackingRect];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10500
|
||||
[(NSTrackingArea*)trackingRect release];
|
||||
#endif
|
||||
trackingRect = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user