SF.net SVN: geany: [2690] branches/document-pointer

ntrel at users.sourceforge.net ntrel at xxxxx
Fri Jun 13 14:38:27 UTC 2008


Revision: 2690
          http://geany.svn.sourceforge.net/geany/?rev=2690&view=rev
Author:   ntrel
Date:     2008-06-13 07:37:59 -0700 (Fri, 13 Jun 2008)

Log Message:
-----------
Fix a segfault after clicking on a messages window Find Usage item
after the relevant document has been closed.

Modified Paths:
--------------
    branches/document-pointer/ChangeLog
    branches/document-pointer/src/msgwindow.c

Modified: branches/document-pointer/ChangeLog
===================================================================
--- branches/document-pointer/ChangeLog	2008-06-12 20:45:18 UTC (rev 2689)
+++ branches/document-pointer/ChangeLog	2008-06-13 14:37:59 UTC (rev 2690)
@@ -1,3 +1,10 @@
+2008-06-13  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/msgwindow.c:
+   Fix a segfault after clicking on a messages window Find Usage item
+   after the relevant document has been closed.
+
+
 2008-06-12  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
 
  * src/build.c, src/project.c, src/encodings.c, src/prefs.c,

Modified: branches/document-pointer/src/msgwindow.c
===================================================================
--- branches/document-pointer/src/msgwindow.c	2008-06-12 20:45:18 UTC (rev 2689)
+++ branches/document-pointer/src/msgwindow.c	2008-06-13 14:37:59 UTC (rev 2690)
@@ -791,6 +791,9 @@
 }
 
 
+#define DOC_VALID(doc_ptr) \
+	((doc_ptr) != NULL && (doc_ptr)->is_valid)
+
 gboolean msgwin_goto_messages_file_line()
 {
 	GtkTreeIter iter;
@@ -807,7 +810,8 @@
 		GeanyDocument *old_doc = document_get_current();
 
 		gtk_tree_model_get(model, &iter, 0, &line, 1, &doc, 3, &string, -1);
-		if (line >= 0 && doc != NULL)
+		/* doc may have been closed, so check doc->is_valid: */
+		if (line >= 0 && DOC_VALID(doc))
 		{
 			ret = navqueue_goto_line(old_doc, doc, line);
 		}


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