#endif
#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
#include <glib.h>
#include <glib/gi18n.h>
{
SieveEditorPage *editor;
SieveSession *session = page->active_session;
+ gchar *filter_name;
if (!session)
return;
- gchar *filter_name = filters_list_get_selected_filter(page->filters_list);
+ filter_name = filters_list_get_selected_filter(page->filters_list);
if (!filter_name)
return;
editor = sieve_editor_get(session, filter_name);
if (editor) {
sieve_editor_present(editor);
+ g_free(filter_name);
} else {
editor = sieve_editor_new(session, filter_name);
+ /* filter_name becomes ownership of newly created
+ * SieveEditorPage, so we do not need to free it here. */
sieve_editor_load(editor,
(sieve_session_cb_fn)filter_got_load_error, page);
}
window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "sievemanager");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_title (GTK_WINDOW (window), _("Manage Sieve Filters"));
+ gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
MANAGE_WINDOW_SIGNALS_CONNECT (window);
g_signal_connect (G_OBJECT (window), "key_press_event",