aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc/e-calendar-item.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc/e-calendar-item.c')
-rw-r--r--widgets/misc/e-calendar-item.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/widgets/misc/e-calendar-item.c b/widgets/misc/e-calendar-item.c
index 83bdbab49e..bde45441f6 100644
--- a/widgets/misc/e-calendar-item.c
+++ b/widgets/misc/e-calendar-item.c
@@ -1624,8 +1624,12 @@ e_calendar_item_selection_add_days (ECalendarItem *calitem, gint n_days,
g_return_if_fail (E_IS_CALENDAR_ITEM (calitem));
- if (!e_calendar_item_get_selection (calitem, &gdate_start, &gdate_end))
- return;
+ if (!e_calendar_item_get_selection (calitem, &gdate_start, &gdate_end)) {
+ /* We set the date to the first day of the month */
+ g_date_set_dmy (&gdate_start, 1, calitem->month + 1, calitem->year);
+ gdate_end = gdate_start;
+ }
+
if (multi_selection && calitem->max_days_selected > 1) {
gint days_between;
@@ -2898,9 +2902,10 @@ e_calendar_item_set_selection_if_emission (ECalendarItem *calitem,
|| calitem->selection_end_month_offset != new_end_month_offset
|| calitem->selection_end_day != new_end_day) {
need_update = TRUE;
- calitem->selection_changed = TRUE;
- if (emission)
+ if (emission) {
+ calitem->selection_changed = TRUE;
e_calendar_item_queue_signal_emission (calitem);
+ }
calitem->selection_set = TRUE;
calitem->selection_start_month_offset = new_start_month_offset;
calitem->selection_start_day = new_start_day;