Commit d55d2ec8 authored by Ken Thomases's avatar Ken Thomases Committed by Alexandre Julliard

winemac: Move memory management of liveResizeDisplayTimer into property setter.

parent a3197b8a
...@@ -158,6 +158,8 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers) ...@@ -158,6 +158,8 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers)
@property (assign, nonatomic) void* imeData; @property (assign, nonatomic) void* imeData;
@property (nonatomic) BOOL commandDone; @property (nonatomic) BOOL commandDone;
@property (retain, nonatomic) NSTimer* liveResizeDisplayTimer;
- (void) updateColorSpace; - (void) updateColorSpace;
- (BOOL) becameEligibleParentOrChild; - (BOOL) becameEligibleParentOrChild;
...@@ -468,6 +470,7 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers) ...@@ -468,6 +470,7 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers)
@synthesize colorKeyed, colorKeyRed, colorKeyGreen, colorKeyBlue; @synthesize colorKeyed, colorKeyRed, colorKeyGreen, colorKeyBlue;
@synthesize usePerPixelAlpha; @synthesize usePerPixelAlpha;
@synthesize imeData, commandDone; @synthesize imeData, commandDone;
@synthesize liveResizeDisplayTimer;
+ (WineWindow*) createWindowWithFeatures:(const struct macdrv_window_features*)wf + (WineWindow*) createWindowWithFeatures:(const struct macdrv_window_features*)wf
windowFrame:(NSRect)window_frame windowFrame:(NSRect)window_frame
...@@ -1183,6 +1186,16 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers) ...@@ -1183,6 +1186,16 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers)
[self checkTransparency]; [self checkTransparency];
} }
- (void) setLiveResizeDisplayTimer:(NSTimer*)newTimer
{
if (newTimer != liveResizeDisplayTimer)
{
[liveResizeDisplayTimer invalidate];
[liveResizeDisplayTimer release];
liveResizeDisplayTimer = [newTimer retain];
}
}
- (void) makeFocused:(BOOL)activate - (void) makeFocused:(BOOL)activate
{ {
[self orderBelow:nil orAbove:nil activate:activate]; [self orderBelow:nil orAbove:nil activate:activate];
...@@ -1463,9 +1476,7 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers) ...@@ -1463,9 +1476,7 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers)
- (void) windowDidEndLiveResize:(NSNotification *)notification - (void) windowDidEndLiveResize:(NSNotification *)notification
{ {
[liveResizeDisplayTimer invalidate]; self.liveResizeDisplayTimer = nil;
[liveResizeDisplayTimer release];
liveResizeDisplayTimer = nil;
} }
- (void)windowDidMiniaturize:(NSNotification *)notification - (void)windowDidMiniaturize:(NSNotification *)notification
...@@ -1587,13 +1598,11 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers) ...@@ -1587,13 +1598,11 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers)
// //
// We address this by "manually" asking our windows to check if they need // We address this by "manually" asking our windows to check if they need
// redrawing every so often (during live resize only). // redrawing every so often (during live resize only).
[self windowDidEndLiveResize:nil]; self.liveResizeDisplayTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/30.0
liveResizeDisplayTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/30.0
target:self target:self
selector:@selector(displayIfNeeded) selector:@selector(displayIfNeeded)
userInfo:nil userInfo:nil
repeats:YES]; repeats:YES];
[liveResizeDisplayTimer retain];
[[NSRunLoop currentRunLoop] addTimer:liveResizeDisplayTimer [[NSRunLoop currentRunLoop] addTimer:liveResizeDisplayTimer
forMode:NSRunLoopCommonModes]; forMode:NSRunLoopCommonModes];
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment