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