diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java b/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java index 867e49c181..845ac837f6 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java @@ -1195,14 +1195,19 @@ public class VCalendarPanel extends FocusableFlexTable implements displayedMonth = new Date(value.getYear(), value.getMonth(), 1); } - // Re-render calendar if month or year of focused date has changed - if (oldDisplayedMonth == null || value == null + // Re-render calendar if the displayed month is changed, + // or if a time selector is needed but does not exist. + if ((isTimeSelectorNeeded() && time == null) + || oldDisplayedMonth == null || value == null || oldDisplayedMonth.getYear() != value.getYear() || oldDisplayedMonth.getMonth() != value.getMonth()) { renderCalendar(); } else { focusDay(focusedDate); selectFocused(); + if (isTimeSelectorNeeded()) { + time.updateTimes(); + } } if (!hasFocus) { |