aboutsummaryrefslogtreecommitdiffstats
path: root/modules/calendar
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-05-14 11:40:16 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-05-14 11:50:19 +0800
commit99ebc23e0860ef5baf1f169803d751db70e2aa32 (patch)
tree4f03fec0df88308beac8fe06986a8782d93bc2f2 /modules/calendar
parente09c495dddf42c953f077004b40c84f16a2dcabc (diff)
downloadgsoc2013-evolution-99ebc23e0860ef5baf1f169803d751db70e2aa32.tar
gsoc2013-evolution-99ebc23e0860ef5baf1f169803d751db70e2aa32.tar.gz
gsoc2013-evolution-99ebc23e0860ef5baf1f169803d751db70e2aa32.tar.bz2
gsoc2013-evolution-99ebc23e0860ef5baf1f169803d751db70e2aa32.tar.lz
gsoc2013-evolution-99ebc23e0860ef5baf1f169803d751db70e2aa32.tar.xz
gsoc2013-evolution-99ebc23e0860ef5baf1f169803d751db70e2aa32.tar.zst
gsoc2013-evolution-99ebc23e0860ef5baf1f169803d751db70e2aa32.zip
Bug 615745 - New task pop up in calendar day view doesn't work
Diffstat (limited to 'modules/calendar')
-rw-r--r--modules/calendar/e-memo-shell-view-actions.c19
-rw-r--r--modules/calendar/e-task-shell-view-actions.c19
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 a9b7fea82e..69bf9c5e8e 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 0fd218c9e9..310200d6a7 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);