gedit r6489 - in trunk: . plugins/filebrowser



Author: pborelli
Date: Sat Sep  6 14:25:30 2008
New Revision: 6489
URL: http://svn.gnome.org/viewvc/gedit?rev=6489&view=rev

Log:
2008-09-06  Paolo Borelli  <pborelli katamail com>

	* plugins/gedit-file-browser-plugin.c: fix double-free causing
	memory corruption on rename.



Modified:
   trunk/ChangeLog
   trunk/plugins/filebrowser/gedit-file-browser-plugin.c

Modified: trunk/plugins/filebrowser/gedit-file-browser-plugin.c
==============================================================================
--- trunk/plugins/filebrowser/gedit-file-browser-plugin.c	(original)
+++ trunk/plugins/filebrowser/gedit-file-browser-plugin.c	Sat Sep  6 14:25:30 2008
@@ -987,7 +987,6 @@
 	GFile * oldfile;
 	GFile * newfile;
 	gchar * uri;
-	gchar * relative;
 	
 	/* Find all documents and set its uri to newuri where it matches olduri */
 	app = gedit_app_get_default ();
@@ -1008,30 +1007,33 @@
 		if (g_file_equal (docfile, oldfile)) {
 			gedit_document_set_uri (doc, newuri);
 		} else {
+			gchar *relative;
+
 			relative = g_file_get_relative_path (oldfile, docfile);
-			g_object_unref (docfile);
-			g_free (uri);
-		
+
 			if (relative) {
 				/* relative now contains the part in docfile without
 				   the prefix oldfile */
 
+				g_object_unref (docfile);
+				g_free (uri);
+
 				docfile = g_file_get_child (newfile, relative);
 				uri = g_file_get_uri (docfile);
-			
+
 				gedit_document_set_uri (doc, uri);
 			}
-		
+
 			g_free (relative);
 		}
-		
+
 		g_free (uri);
 		g_object_unref (docfile);
 	}
-	
+
 	g_object_unref (oldfile);
 	g_object_unref (newfile);
-	
+
 	g_list_free (documents);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]