[vlc-commits] macosx: improve memory and hotkey handling (in case a vout is active, but not the first responder)
Felix Paul Kühne
git at videolan.org
Mon May 21 14:26:46 CEST 2012
vlc/vlc-2.0 | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Thu May 17 02:56:22 2012 +0200| [3120c6377979d6328840c577b1e397962fe2a833] | committer: Felix Paul Kühne
macosx: improve memory and hotkey handling (in case a vout is active, but not the first responder)
(cherry picked from commit b3259ed4de03feded83222e6fe0837caabb8d20a)
> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.0.git/?a=commit;h=3120c6377979d6328840c577b1e397962fe2a833
---
modules/gui/macosx/intf.m | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
index 8ccfa75..0f96191 100644
--- a/modules/gui/macosx/intf.m
+++ b/modules/gui/macosx/intf.m
@@ -647,6 +647,8 @@ static VLCMain *_o_sharedMainInstance = nil;
{
if( !p_intf ) return;
+ [self updateCurrentlyUsedHotkeys];
+
[o_mainwindow updateWindow];
[o_mainwindow updateTimeSlider];
[o_mainwindow updateVolumeSlider];
@@ -1298,8 +1300,8 @@ unsigned int CocoaKeyToVLC( unichar i_key )
unsigned int i_pressed_modifiers = 0;
const struct hotkey *p_hotkeys;
int i;
- NSMutableString *tempString = [[[NSMutableString alloc] init] autorelease];
- NSMutableString *tempStringPlus = [[[NSMutableString alloc] init] autorelease];
+ NSMutableString *tempString = [[NSMutableString alloc] init];
+ NSMutableString *tempStringPlus = [[NSMutableString alloc] init];
val.i_int = 0;
p_hotkeys = p_intf->p_libvlc->p_hotkeys;
@@ -1336,6 +1338,8 @@ unsigned int CocoaKeyToVLC( unichar i_key )
if( key == 'f' && i_pressed_modifiers & NSControlKeyMask && i_pressed_modifiers & NSCommandKeyMask )
{
[[VLCCoreInteraction sharedInstance] toggleFullscreen];
+ [tempString release];
+ [tempStringPlus release];
return YES;
}
@@ -1351,12 +1355,16 @@ unsigned int CocoaKeyToVLC( unichar i_key )
case NSLeftArrowFunctionKey:
case NSEnterCharacter:
case NSCarriageReturnCharacter:
+ [tempString release];
+ [tempStringPlus release];
return NO;
}
if( key == 0x0020 ) // space key
{
[[VLCCoreInteraction sharedInstance] play];
+ [tempString release];
+ [tempStringPlus release];
return YES;
}
@@ -1365,9 +1373,13 @@ unsigned int CocoaKeyToVLC( unichar i_key )
if( [o_usedHotkeys indexOfObject: tempString] != NSNotFound || [o_usedHotkeys indexOfObject: tempStringPlus] != NSNotFound )
{
var_SetInteger( p_intf->p_libvlc, "key-pressed", val.i_int );
+ [tempString release];
+ [tempStringPlus release];
return YES;
}
+ [tempString release];
+ [tempStringPlus release];
return NO;
}
@@ -1395,7 +1407,8 @@ unsigned int CocoaKeyToVLC( unichar i_key )
}
}
module_config_free (p_config);
- o_usedHotkeys = [[NSArray alloc] initWithArray: o_usedHotkeys copyItems: YES];
+ o_usedHotkeys = [[NSArray alloc] initWithArray: o_tempArray copyItems: YES];
+ [o_tempArray release];
}
#pragma mark -
More information about the vlc-commits
mailing list