aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2008-01-10 19:32:41 +0800
committerMilan Crha <mcrha@src.gnome.org>2008-01-10 19:32:41 +0800
commite562721c90b84a425ffcf230e802da0a3e751599 (patch)
treedba8293e0cbcec83256a8586c139f48f7de25729 /calendar/gui/e-week-view.c
parentdd7bad07415b4b2a46d3bae6236838d52334f6fb (diff)
downloadgsoc2013-evolution-e562721c90b84a425ffcf230e802da0a3e751599.tar.gz
gsoc2013-evolution-e562721c90b84a425ffcf230e802da0a3e751599.tar.zst
gsoc2013-evolution-e562721c90b84a425ffcf230e802da0a3e751599.zip
** Fix for bug #457842
2008-01-10 Milan Crha <mcrha@redhat.com> ** Fix for bug #457842 * gui/e-week-view-event-item.c: (e_week_view_event_item_double_click): * gui/e-week-view.c: (e_week_view_start_editing_event): Do not call edit/start editing of the event when double clicked on the same component as is actually editing. * gui/calendar-commands.c: (gcal_calendar_selection_changed_cb): Removed forgotten printf call. svn path=/trunk/; revision=34789
Diffstat (limited to 'calendar/gui/e-week-view.c')
-rw-r--r--calendar/gui/e-week-view.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index 0c3ca360ad..c7004cbbd1 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -2943,6 +2943,14 @@ e_week_view_start_editing_event (EWeekView *week_view,
if (!span->text_item)
return FALSE;
+ if (week_view->editing_event_num >= 0) {
+ EWeekViewEvent *editing = &g_array_index (week_view->events, EWeekViewEvent, week_view->editing_event_num);
+
+ /* do not change to other part of same component - the event is spread into more days */
+ if (editing && event && editing->comp_data == event->comp_data)
+ return FALSE;
+ }
+
if (initial_text) {
gnome_canvas_item_set (span->text_item,
"text", initial_text,
@@ -2960,6 +2968,9 @@ e_week_view_start_editing_event (EWeekView *week_view,
event = &g_array_index (week_view->events, EWeekViewEvent, event_num);
if (event_num >= week_view->events->len || event->comp_data != comp_data) {
+ /* When got in because of other comp_data, then be sure we go through all events */
+ event_num = week_view->events->len;
+
/* Unfocussing can cause a removal but not a new
* addition so just run backwards through the
* events */