diff --git a/modules/printbackends/file/gtkprintbackendfile.c b/modules/printbackends/file/gtkprintbackendfile.c index 27cc0a4e98..79023c9682 100644 --- a/modules/printbackends/file/gtkprintbackendfile.c +++ b/modules/printbackends/file/gtkprintbackendfile.c @@ -253,13 +253,21 @@ output_file_from_settings (GtkPrintSettings *settings, if (locale_name != NULL) { - gchar *current_dir = g_get_current_dir (); - path = g_build_filename (current_dir, locale_name, NULL); - g_free (locale_name); + const gchar *document_dir = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS); + + if (document_dir == NULL) + { + gchar *current_dir = g_get_current_dir (); + path = g_build_filename (current_dir, locale_name, NULL); + g_free (current_dir); + } + else + path = g_build_filename (document_dir, locale_name, NULL); uri = g_filename_to_uri (path, NULL, NULL); + + g_free (locale_name); g_free (path); - g_free (current_dir); } }