void sieve_editors_close()
{
if (editors) {
- g_slist_free_full(editors, (GDestroyNotify)sieve_editor_close);
+ GSList *list = editors;
editors = NULL;
+ g_slist_free_full(list, (GDestroyNotify)sieve_editor_close);
}
}
gpointer on_load_error_data;
};
+void sieve_editors_close();
SieveEditorPage *sieve_editor_new(SieveSession *session, gchar *script_name);
SieveEditorPage *sieve_editor_get(SieveSession *session, gchar *script_name);
void sieve_editor_load(SieveEditorPage *page,
if ((page = (SieveManagerPage *)cur->data) && \
page->active_session == session)
+void sieve_managers_done()
+{
+ GSList *list = manager_pages;
+ manager_pages = NULL;
+ g_slist_free_full(list, (GDestroyNotify)sieve_manager_done);
+}
+
static void filters_list_clear(SieveManagerPage *page)
{
GtkListStore *list_store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(page->filters_list)));
gboolean got_list;
};
+void sieve_managers_done(void);
void sieve_manager_show(void);
void sieve_manager_done(SieveManagerPage *page);
void sieve_manager_script_created(SieveSession *session,
#include "log.h"
#include "sieve_prefs.h"
#include "sieve_manager.h"
+#include "sieve_editor.h"
#define PLUGIN_NAME (_("ManageSieve"))
MainWindow *mainwin = mainwindow_get_mainwindow();
sieve_prefs_done();
+ sieve_managers_done();
+ sieve_editors_close();
sieve_sessions_close();
if (mainwin)