diff options
Diffstat (limited to 'modules/calendar/e-memo-shell-view-actions.c')
-rw-r--r-- | modules/calendar/e-memo-shell-view-actions.c | 19 |
1 files changed, 14 insertions, 5 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); |