#include "mainwindow.h"
#include "statusbar.h"
#include "msgcache.h"
+#include "password.h"
#include "timing.h"
#include "messageview.h"
if (_item == folder->inbox)
vcal_remove_event(folder, msginfo);
- procmsg_msginfo_free(msginfo);
+ procmsg_msginfo_free(&msginfo);
return 0;
}
{
FolderItem *item = folder?folder->inbox:NULL;
gboolean need_scan = folder?vcal_scan_required(folder, item):TRUE;
+ gchar *export_pass = NULL;
+ gchar *export_freebusy_pass = NULL;
if (vcal_folder_lock_count) /* blocked */
return;
vcal_folder_lock_count++;
+
+ export_pass = password_decrypt(vcalprefs.export_pass, NULL);
+ export_freebusy_pass = password_decrypt(vcalprefs.export_freebusy_pass, NULL);
+
if (vcal_meeting_export_calendar(vcalprefs.export_path,
vcalprefs.export_user,
- vcalprefs.export_pass,
+ export_pass,
TRUE)) {
debug_print("exporting calendar\n");
if (vcalprefs.export_enable &&
execute_command_line(
vcalprefs.export_command, TRUE);
}
+ if (export_pass != NULL) {
+ memset(export_pass, 0, strlen(export_pass));
+ }
+ g_free(export_pass);
if (vcal_meeting_export_freebusy(vcalprefs.export_freebusy_path,
vcalprefs.export_freebusy_user,
- vcalprefs.export_freebusy_pass)) {
+ export_freebusy_pass)) {
debug_print("exporting freebusy\n");
if (vcalprefs.export_freebusy_enable &&
vcalprefs.export_freebusy_command &&
execute_command_line(
vcalprefs.export_freebusy_command, TRUE);
}
+ if (export_freebusy_pass != NULL) {
+ memset(export_freebusy_pass, 0, strlen(export_freebusy_pass));
+ }
+ g_free(export_freebusy_pass);
vcal_folder_lock_count--;
if (!need_scan && folder) {
vcal_set_mtime(folder, folder->inbox);
if (!folderview->selected) return;
- item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+ item = folderview_get_selected_item(folderview);
g_return_if_fail(item != NULL);
g_return_if_fail(item->path != NULL);
g_return_if_fail(item->folder != NULL);
{
FolderView *folderview = (FolderView *)data;
gint action = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (current));
- GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
FolderItem *item = NULL, *oitem = NULL;
if (!folderview->selected) return;
if (setting_sensitivity) return;
- oitem = gtk_cmctree_node_get_row_data(ctree, folderview->opened);
- item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+ oitem = folderview_get_opened_item(folderview);
+ item = folderview_get_selected_item(folderview);
if (!item)
return;
info = folder_item_get_msginfo_by_msgid(folder->inbox, id);
if (info != NULL) {
- procmsg_msginfo_free(info);
+ procmsg_msginfo_free(&info);
return TRUE;
}
return FALSE;
if (info != NULL) {
debug_print("removing event %s\n", id);
vcal_remove_event(folder, info);
- procmsg_msginfo_free(info);
+ procmsg_msginfo_free(&info);
folder_item_scan(folder->inbox);
return TRUE;
}