aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/e-day-view.c30
-rw-r--r--calendar/gui/e-week-view.c12
2 files changed, 28 insertions, 14 deletions
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index 53123917e2..707acdddd9 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -3571,21 +3571,31 @@ e_day_view_popup_menu (GtkWidget *widget)
static GList *
e_day_view_get_selected_events (ECalView *cal_view)
{
- EDayViewEvent *event;
+ EDayViewEvent *event = NULL;
GList *list = NULL;
EDayView *day_view = (EDayView *) cal_view;
g_return_val_if_fail (E_IS_DAY_VIEW (day_view), NULL);
- g_return_val_if_fail (day_view->editing_event_day != -1, NULL);
- if (day_view->editing_event_day == E_DAY_VIEW_LONG_EVENT)
- event = &g_array_index (day_view->long_events,
- EDayViewEvent,
- day_view->editing_event_num);
- else
- event = &g_array_index (day_view->events[day_view->editing_event_day],
- EDayViewEvent,
- day_view->editing_event_num);
+ if (day_view->editing_event_num != -1) {
+ if (day_view->editing_event_day == E_DAY_VIEW_LONG_EVENT)
+ event = &g_array_index (day_view->long_events,
+ EDayViewEvent,
+ day_view->editing_event_num);
+ else
+ event = &g_array_index (day_view->events[day_view->editing_event_day],
+ EDayViewEvent,
+ day_view->editing_event_num);
+ } else if (day_view->popup_event_num != -1) {
+ if (day_view->popup_event_day == E_DAY_VIEW_LONG_EVENT)
+ event = &g_array_index (day_view->long_events,
+ EDayViewEvent,
+ day_view->popup_event_num);
+ else
+ event = &g_array_index (day_view->events[day_view->popup_event_day],
+ EDayViewEvent,
+ day_view->popup_event_num);
+ }
if (event)
list = g_list_append (list, event->comp);
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index d3573db107..4a5aceb86f 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -1021,15 +1021,19 @@ e_week_view_focus (GtkWidget *widget, GtkDirectionType direction)
static GList *
e_week_view_get_selected_events (ECalView *cal_view)
{
- EWeekViewEvent *event;
+ EWeekViewEvent *event = NULL;
GList *list = NULL;
EWeekView *week_view = (EWeekView *) cal_view;
g_return_val_if_fail (E_IS_WEEK_VIEW (week_view), NULL);
- g_return_val_if_fail (week_view->editing_event_num != -1, NULL);
- event = &g_array_index (week_view->events, EWeekViewEvent,
- week_view->editing_event_num);
+ if (week_view->editing_event_num != -1) {
+ event = &g_array_index (week_view->events, EWeekViewEvent,
+ week_view->editing_event_num);
+ } else if (week_view->popup_event_num != -1) {
+ event = &g_array_index (week_view->events, EWeekViewEvent,
+ week_view->popup_event_num);
+ }
if (event)
list = g_list_prepend (list, event->comp);