Showing
4 changed files
with
12 additions
and
4 deletions
@@ -105,6 +105,9 @@ static void job_completed(GtkPrintJob* gtk_print_job, | @@ -105,6 +105,9 @@ static void job_completed(GtkPrintJob* gtk_print_job, | ||
105 | gpointer user_data, | 105 | gpointer user_data, |
106 | const GError* error) { | 106 | const GError* error) { |
107 | auto job = static_cast<print_job*>(user_data); | 107 | auto job = static_cast<print_job*>(user_data); |
108 | + if (job->dialog) { | ||
109 | + gtk_widget_destroy(GTK_WIDGET(job->dialog)); | ||
110 | + } | ||
108 | on_completed(job, error == nullptr, | 111 | on_completed(job, error == nullptr, |
109 | error != nullptr ? error->message : nullptr); | 112 | error != nullptr ? error->message : nullptr); |
110 | } | 113 | } |
@@ -135,8 +138,7 @@ bool print_job::print_pdf(const gchar* name, | @@ -135,8 +138,7 @@ bool print_job::print_pdf(const gchar* name, | ||
135 | setup = gtk_page_setup_new(); | 138 | setup = gtk_page_setup_new(); |
136 | 139 | ||
137 | } else { | 140 | } else { |
138 | - auto dialog = | ||
139 | - GTK_PRINT_UNIX_DIALOG(gtk_print_unix_dialog_new(name, nullptr)); | 141 | + dialog = GTK_PRINT_UNIX_DIALOG(gtk_print_unix_dialog_new(name, nullptr)); |
140 | gtk_print_unix_dialog_set_manual_capabilities( | 142 | gtk_print_unix_dialog_set_manual_capabilities( |
141 | dialog, (GtkPrintCapabilities)(GTK_PRINT_CAPABILITY_GENERATE_PDF)); | 143 | dialog, (GtkPrintCapabilities)(GTK_PRINT_CAPABILITY_GENERATE_PDF)); |
142 | gtk_print_unix_dialog_set_embed_page_setup(dialog, true); | 144 | gtk_print_unix_dialog_set_embed_page_setup(dialog, true); |
@@ -157,7 +159,7 @@ bool print_job::print_pdf(const gchar* name, | @@ -157,7 +159,7 @@ bool print_job::print_pdf(const gchar* name, | ||
157 | gtk_print_unix_dialog_get_settings(GTK_PRINT_UNIX_DIALOG(dialog)); | 159 | gtk_print_unix_dialog_get_settings(GTK_PRINT_UNIX_DIALOG(dialog)); |
158 | setup = gtk_print_unix_dialog_get_page_setup( | 160 | setup = gtk_print_unix_dialog_get_page_setup( |
159 | GTK_PRINT_UNIX_DIALOG(dialog)); | 161 | GTK_PRINT_UNIX_DIALOG(dialog)); |
160 | - gtk_widget_destroy(GTK_WIDGET(dialog)); | 162 | + gtk_widget_hide(GTK_WIDGET(dialog)); |
161 | loop = false; | 163 | loop = false; |
162 | } break; | 164 | } break; |
163 | case GTK_RESPONSE_APPLY: // Preview | 165 | case GTK_RESPONSE_APPLY: // Preview |
@@ -6,7 +6,7 @@ description: > | @@ -6,7 +6,7 @@ description: > | ||
6 | homepage: https://github.com/DavBfr/dart_pdf/tree/master/printing | 6 | homepage: https://github.com/DavBfr/dart_pdf/tree/master/printing |
7 | repository: https://github.com/DavBfr/dart_pdf | 7 | repository: https://github.com/DavBfr/dart_pdf |
8 | issue_tracker: https://github.com/DavBfr/dart_pdf/issues | 8 | issue_tracker: https://github.com/DavBfr/dart_pdf/issues |
9 | -version: 5.6.7 | 9 | +version: 5.6.8 |
10 | 10 | ||
11 | environment: | 11 | environment: |
12 | sdk: ">=2.12.0 <3.0.0" | 12 | sdk: ">=2.12.0 <3.0.0" |
-
Please register or login to post a comment