[evolution/gnome-2-30] Bug 615745 - New task pop up in calendar day view doesn't work



commit 99ebc23e0860ef5baf1f169803d751db70e2aa32
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu May 13 23:40:16 2010 -0400

    Bug 615745 - New task pop up in calendar day view doesn't work

 modules/calendar/e-memo-shell-view-actions.c |   19 ++++++++++++++-----
 modules/calendar/e-task-shell-view-actions.c |   19 ++++++++++++++-----
 2 files changed, 28 insertions(+), 10 deletions(-)
---
diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c
index a9b7fea..69bf9c5 100644
--- a/modules/calendar/e-memo-shell-view-actions.c
+++ b/modules/calendar/e-memo-shell-view-actions.c
@@ -334,7 +334,6 @@ action_memo_new_cb (GtkAction *action,
 	EShellWindow *shell_window;
 	EMemoShellContent *memo_shell_content;
 	EMemoTable *memo_table;
-	ECalModelComponent *comp_data;
 	ECal *client;
 	ECalComponent *comp;
 	CompEditor *editor;
@@ -348,11 +347,21 @@ action_memo_new_cb (GtkAction *action,
 	memo_table = e_memo_shell_content_get_memo_table (memo_shell_content);
 
 	list = e_memo_table_get_selected (memo_table);
-	g_return_if_fail (list != NULL);
-	comp_data = list->data;
-	g_slist_free (list);
+	if (list == NULL) {
+		ECalModel *model;
+
+		model = e_memo_table_get_model (memo_table);
+		client = e_cal_model_get_default_client (model);
+	} else {
+		ECalModelComponent *comp_data;
+
+		comp_data = list->data;
+		client = comp_data->client;
+		g_slist_free (list);
+	}
+
+	g_return_if_fail (client != NULL);
 
-	client = comp_data->client;
 	editor = memo_editor_new (client, shell, COMP_EDITOR_NEW_ITEM);
 	comp = cal_comp_memo_new_with_defaults (client);
 	comp_editor_edit_comp (editor, comp);
diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c
index 0fd218c..310200d 100644
--- a/modules/calendar/e-task-shell-view-actions.c
+++ b/modules/calendar/e-task-shell-view-actions.c
@@ -402,7 +402,6 @@ action_task_new_cb (GtkAction *action,
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	ETaskShellContent *task_shell_content;
-	ECalModelComponent *comp_data;
 	ETaskTable *task_table;
 	ECal *client;
 	ECalComponent *comp;
@@ -417,11 +416,21 @@ action_task_new_cb (GtkAction *action,
 	task_table = e_task_shell_content_get_task_table (task_shell_content);
 
 	list = e_task_table_get_selected (task_table);
-	g_return_if_fail (list != NULL);
-	comp_data = list->data;
-	g_slist_free (list);
+	if (list == NULL) {
+		ECalModel *model;
+
+		model = e_task_table_get_model (task_table);
+		client = e_cal_model_get_default_client (model);
+	} else {
+		ECalModelComponent *comp_data;
+
+		comp_data = list->data;
+		client = comp_data->client;
+		g_slist_free (list);
+	}
+
+	g_return_if_fail (client != NULL);
 
-	client = comp_data->client;
 	editor = task_editor_new (client, shell, COMP_EDITOR_NEW_ITEM);
 	comp = cal_comp_task_new_with_defaults (client);
 	comp_editor_edit_comp (editor, comp);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]