Hi,

The code looks strange

In support.c
Around row 38

        if ( file_pixbuf == NULL )
        {
                g_free (error);
                error = NULL;
                path = g_strconcat("./pixmaps/", filename, NULL);
                file_pixbuf = gdk_pixbuf_new_from_file (path, &error);
                g_free(path);
    }

If I remember correctly, we should not use g_free to free error.
We can use g_error_free to do this job.

Please test the patch if it works.

-- 
                                                PaulLiu(劉穎駿)
E-mail address: [EMAIL PROTECTED]
--- src/support.c~	2007-09-05 02:39:59.874099430 +0800
+++ src/support.c	2007-09-05 02:39:59.874099430 +0800
@@ -38,7 +38,7 @@
 	if ( file_pixbuf == NULL )
 	{
 		/* perhaps xarchiver has not been installed and is being executed from source dir */
-		g_free (error);
+		g_error_free (error);
 		error = NULL;
 		path = g_strconcat("./pixmaps/", filename, NULL);
 		file_pixbuf = gdk_pixbuf_new_from_file (path, &error);
@@ -51,7 +51,7 @@
     }
     else
 	{
-		g_free(error);
+		g_error_free(error);
 		file_image = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE, size);
     }
     return file_image;

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to