From 27bb85bb00caa181248658b9eb896be81223ddaa Mon Sep 17 00:00:00 2001 From: Alexandre Wilhelm Date: Wed, 27 Mar 2013 11:23:20 -0700 Subject: [PATCH] Fixed bug about firstResponder. Fixed bug about current date when changing the month (to pass from the 31 to 30) --- AppKit/CPDatePicker/_CPDatePickerTextField.j | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/AppKit/CPDatePicker/_CPDatePickerTextField.j b/AppKit/CPDatePicker/_CPDatePickerTextField.j index 3e7ba86ed..080130447 100644 --- a/AppKit/CPDatePicker/_CPDatePickerTextField.j +++ b/AppKit/CPDatePicker/_CPDatePickerTextField.j @@ -228,7 +228,7 @@ var CPZeroKeyCode = 48, - (void)_clickStepper:(id)sender { // Success when clicking on the stepper if the datePicker is not selected - if ([[self window] firstResponder] != _datePicker) + if ([[self window] firstResponder] != _datePicker || !_currentTextField) { var isUp = NO; @@ -1330,6 +1330,17 @@ var CPMonthDateType = 0, switch (_dateType) { case CPMonthDateType: + + var dateNextMonth = [dateValue copy]; + + dateNextMonth.setDate(1); + dateNextMonth.setMonth(parseInt(anObjectValue) - 1); + + var numberDayNextMonth = [dateNextMonth _daysInMonth]; + + if (numberDayNextMonth < [dateValue _daysInMonth] && dateValue.getDate() > numberDayNextMonth) + dateValue.setDate(numberDayNextMonth); + dateValue.setMonth(parseInt(anObjectValue) - 1); break;