SF.net SVN: geany:[3656] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Thu Mar 26 20:31:55 UTC 2009


Revision: 3656
          http://geany.svn.sourceforge.net/geany/?rev=3656&view=rev
Author:   eht16
Date:     2009-03-26 20:31:55 +0000 (Thu, 26 Mar 2009)

Log Message:
-----------
Don't manage the last used documents list when quitting to prevent errors by accessing invalid memory (may close #2533990).

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/keybindings.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-03-26 20:17:16 UTC (rev 3655)
+++ trunk/ChangeLog	2009-03-26 20:31:55 UTC (rev 3656)
@@ -3,6 +3,9 @@
  * src\main.c, src\plugins.c, src\win32.c, src\win32.h:
    Use g_win32_get_package_installation_directory_of_module() on Windows
    with newer GLib versions instead of deprecated API.
+ * src/keybindings.c:
+   Don't manage the last used documents list when quitting to prevent
+   errors by accessing invalid memory (may close #2533990).
 
 
 2009-03-25  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>

Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c	2009-03-26 20:17:16 UTC (rev 3655)
+++ trunk/src/keybindings.c	2009-03-26 20:31:55 UTC (rev 3656)
@@ -48,6 +48,7 @@
 #include "toolbar.h"
 #include "treeviews.h"
 #include "geanywraplabel.h"
+#include "main.h"
 
 
 GPtrArray *keybinding_groups;	/* array of GeanyKeyGroup pointers */
@@ -525,8 +526,11 @@
 
 static void on_document_close(GObject *obj, GeanyDocument *doc)
 {
-	g_queue_remove_all(mru_docs, doc);
-	g_idle_add(on_idle_close, NULL);
+	if (! main_status.quitting)
+	{
+		g_queue_remove_all(mru_docs, doc);
+		g_idle_add(on_idle_close, NULL);
+	}
 }
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list