mirror of
https://github.com/yawut/SDL.git
synced 2026-08-27 03:07:10 -05:00
Fixed bug #1027
Vittorio Giovara 2010-07-17 19:21:36 PDT fix the double free error in SDL_uikitview the variable 'textfield' is initialialized and set to autorelease. however in the dealloc method a second [release] is sent. If the textfield has not been set to nil before (with a viewDidUnload for example) this can lead to awful hard-to-find crashes when the SDL code terminates. the error message is -[textfield release] message sent to deallocated instance 0x4e5fa90 the fix is simple, just release the object as soon as it is added to the subview, see attached patch
This commit is contained in:
@@ -35,9 +35,6 @@
|
||||
@implementation SDL_uikitview
|
||||
|
||||
- (void)dealloc {
|
||||
#if SDL_IPHONE_KEYBOARD
|
||||
[textField release];
|
||||
#endif
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@@ -220,7 +217,7 @@
|
||||
/* Set ourselves up as a UITextFieldDelegate */
|
||||
- (void)initializeKeyboard {
|
||||
|
||||
textField = [[[UITextField alloc] initWithFrame: CGRectZero] autorelease];
|
||||
textField = [[UITextField alloc] initWithFrame: CGRectZero];
|
||||
textField.delegate = self;
|
||||
/* placeholder so there is something to delete! */
|
||||
textField.text = @" ";
|
||||
@@ -238,6 +235,7 @@
|
||||
keyboardVisible = NO;
|
||||
/* add the UITextField (hidden) to our view */
|
||||
[self addSubview: textField];
|
||||
[textField release];
|
||||
}
|
||||
|
||||
/* reveal onscreen virtual keyboard */
|
||||
|
||||
Reference in New Issue
Block a user