a519603
--- libgsf-1.14.26/thumbnailer/main.c	2013-03-15 11:52:30.534080736 +0000
a519603
+++ libgsf-1.14.26/thumbnailer/main.c	2013-03-15 12:03:26.380766098 +0000
a519603
@@ -97,20 +97,19 @@
a519603
 static void
a519603
 write_thumbnail (const char *filename, gconstpointer data, gsize size, int thumb_size)
a519603
 {
a519603
+	GError *error = NULL;
a519603
 	char *tmp_name;
a519603
 	int fd;
a519603
 	FILE *file;
a519603
 
a519603
-	tmp_name = g_strdup_printf ("%s.XXXXXX", filename);
a519603
-	fd = g_mkstemp (tmp_name);
a519603
-	if (fd == -1) {
a519603
-		perror ("Could not create temporary file");
a519603
-		exit (EXIT_FAILURE);
a519603
-	}
a519603
-
a519603
-	file = fdopen (fd, "w");
a519603
-	if (!file) {
a519603
-		show_error_string_and_exit ("Could not open temporary file for writing");
a519603
+	fd = g_file_open_tmp("gsf-thumbnailer-XXXXXX", &tmp_name, &error);
a519603
+	if(error) {
a519603
+		if(error->message) {
a519603
+			g_printerr ("error: %s\n", error->message);
a519603
+		} else {
a519603
+			g_printerr ("error: %s\n", "Could not create tmp file");
a519603
+		}
a519603
+		g_error_free(error);
a519603
 		exit (EXIT_FAILURE);
a519603
 	}
a519603