From 7fab75216fe0b1c8246d2b4903f0d26d26c2e500 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Tue, 13 Nov 2012 16:34:47 +0000 Subject: [PATCH] Fixed: text field responder error when using a formatter. If the formatter rejected a change and prevented the first responder status from being surrendered, the text field would still stop listening to key window changes and break first responder behaviour when switching between windows. --- AppKit/CPTextField.j | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 07d52f7dd..90b0468f0 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -613,10 +613,6 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); /* @ignore */ - (BOOL)resignFirstResponder { - // When we are no longer the first responder we don't worry about the key status of our window anymore. - [[CPNotificationCenter defaultCenter] removeObserver:self name:CPWindowDidResignKeyNotification object:[self window]]; - [[CPNotificationCenter defaultCenter] removeObserver:self name:CPWindowDidBecomeKeyNotification object:[self window]]; - #if PLATFORM(DOM) var element = [self _inputElement], @@ -638,6 +634,10 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); #endif + // When we are no longer the first responder we don't worry about the key status of our window anymore. + [[CPNotificationCenter defaultCenter] removeObserver:self name:CPWindowDidResignKeyNotification object:[self window]]; + [[CPNotificationCenter defaultCenter] removeObserver:self name:CPWindowDidBecomeKeyNotification object:[self window]]; + [self _resignFirstKeyResponder]; _isEditing = NO;