winemac: Move memory management of liveResizeDisplayTimer into property setter.
This commit is contained in:
parent
a3197b8ad0
commit
d55d2ec85a
|
@ -158,6 +158,8 @@ @interface WineWindow ()
|
|||
@property (assign, nonatomic) void* imeData;
|
||||
@property (nonatomic) BOOL commandDone;
|
||||
|
||||
@property (retain, nonatomic) NSTimer* liveResizeDisplayTimer;
|
||||
|
||||
- (void) updateColorSpace;
|
||||
|
||||
- (BOOL) becameEligibleParentOrChild;
|
||||
|
@ -468,6 +470,7 @@ @implementation WineWindow
|
|||
@synthesize colorKeyed, colorKeyRed, colorKeyGreen, colorKeyBlue;
|
||||
@synthesize usePerPixelAlpha;
|
||||
@synthesize imeData, commandDone;
|
||||
@synthesize liveResizeDisplayTimer;
|
||||
|
||||
+ (WineWindow*) createWindowWithFeatures:(const struct macdrv_window_features*)wf
|
||||
windowFrame:(NSRect)window_frame
|
||||
|
@ -1183,6 +1186,16 @@ - (void) setShape:(NSBezierPath*)newShape
|
|||
[self checkTransparency];
|
||||
}
|
||||
|
||||
- (void) setLiveResizeDisplayTimer:(NSTimer*)newTimer
|
||||
{
|
||||
if (newTimer != liveResizeDisplayTimer)
|
||||
{
|
||||
[liveResizeDisplayTimer invalidate];
|
||||
[liveResizeDisplayTimer release];
|
||||
liveResizeDisplayTimer = [newTimer retain];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) makeFocused:(BOOL)activate
|
||||
{
|
||||
[self orderBelow:nil orAbove:nil activate:activate];
|
||||
|
@ -1463,9 +1476,7 @@ - (void)windowDidDeminiaturize:(NSNotification *)notification
|
|||
|
||||
- (void) windowDidEndLiveResize:(NSNotification *)notification
|
||||
{
|
||||
[liveResizeDisplayTimer invalidate];
|
||||
[liveResizeDisplayTimer release];
|
||||
liveResizeDisplayTimer = nil;
|
||||
self.liveResizeDisplayTimer = nil;
|
||||
}
|
||||
|
||||
- (void)windowDidMiniaturize:(NSNotification *)notification
|
||||
|
@ -1587,13 +1598,11 @@ - (void) windowWillStartLiveResize:(NSNotification *)notification
|
|||
//
|
||||
// We address this by "manually" asking our windows to check if they need
|
||||
// redrawing every so often (during live resize only).
|
||||
[self windowDidEndLiveResize:nil];
|
||||
liveResizeDisplayTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/30.0
|
||||
target:self
|
||||
selector:@selector(displayIfNeeded)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
[liveResizeDisplayTimer retain];
|
||||
self.liveResizeDisplayTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/30.0
|
||||
target:self
|
||||
selector:@selector(displayIfNeeded)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
[[NSRunLoop currentRunLoop] addTimer:liveResizeDisplayTimer
|
||||
forMode:NSRunLoopCommonModes];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue