diff --git a/src/text.c b/src/text.c
index bed758a..9644878 100644
--- a/src/text.c
+++ b/src/text.c
@@ -153,8 +153,6 @@ zenity_text (ZenityData *data, ZenityTextData *text_data) {
if (data->dialog_title)
gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title);
- gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE);
-
text_buffer = gtk_text_buffer_new (NULL);
text_view = gtk_builder_get_object (builder, "zenity_text_view");
gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), text_buffer);
@@ -230,8 +228,8 @@ zenity_save (GtkWidget *widget, GtkWindow *parent_window) {
dialog = gtk_file_chooser_native_new ("Save File",
parent_window,
GTK_FILE_CHOOSER_ACTION_SAVE,
- "Cancel",
- "Save");
+ "Save",
+ "Cancel");
chooser = GTK_FILE_CHOOSER (dialog);
filter = gtk_file_filter_new ();
@@ -272,6 +270,7 @@ zenity_save (GtkWidget *widget, GtkWindow *parent_window) {
static void
zenity_text_dialog_response (GtkWidget *widget, int response, gpointer data) {
+ gboolean should_exit = TRUE;
ZenityData *zen_data = data;
switch (response) {
@@ -285,6 +284,7 @@ zenity_text_dialog_response (GtkWidget *widget, int response, gpointer data) {
case ZENITY_SAVE_BUTTON:
zenity_save (widget, GTK_WINDOW (gtk_widget_get_toplevel (widget)));
+ should_exit = FALSE;
break;
default:
@@ -296,5 +296,7 @@ zenity_text_dialog_response (GtkWidget *widget, int response, gpointer data) {
zenity_util_exit_code_with_data (ZENITY_ESC, zen_data);
break;
}
- gtk_main_quit ();
+ if (should_exit) {
+ gtk_main_quit ();
+ }
}
diff --git a/src/zenity.ui b/src/zenity.ui
index 1e1f599..ef74b4c 100644
--- a/src/zenity.ui
+++ b/src/zenity.ui
@@ -243,7 +243,7 @@
True
True
True
- True
+ False
right
@@ -257,11 +257,9 @@
OK
True
True
- True
True
- True
+ False
right
-
False