Revision: 1423 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1423&view=re... Author: colombanw Date: 2010-06-04 16:26:58 +0000 (Fri, 04 Jun 2010)
Log Message: ----------- GeanyGenDoc: Prevent crash if there is no tags at all
Fix crash when trying to generate documentation for a document with doc->tm_file == NULL, which is the case e.g. for None file type.
Modified Paths: -------------- trunk/geany-plugins/geanygendoc/src/ggd.c
Modified: trunk/geany-plugins/geanygendoc/src/ggd.c =================================================================== --- trunk/geany-plugins/geanygendoc/src/ggd.c 2010-06-03 21:24:51 UTC (rev 1422) +++ trunk/geany-plugins/geanygendoc/src/ggd.c 2010-06-04 16:26:58 UTC (rev 1423) @@ -507,15 +507,17 @@ const gchar *doc_type) { gboolean success = FALSE; - const TMTag *tag; - GPtrArray *tag_array; + const TMTag *tag = NULL; + GPtrArray *tag_array = NULL; GgdFileType *filetype; GgdDocType *doctype;
g_return_val_if_fail (DOC_VALID (doc), FALSE);
- tag_array = doc->tm_file->tags_array; - tag = ggd_tag_find_from_line (tag_array, line + 1 /* it is a SCI line */); + if (doc->tm_file) { + tag_array = doc->tm_file->tags_array; + tag = ggd_tag_find_from_line (tag_array, line + 1 /* it is a SCI line */); + } if (! tag || (tag->type & tm_tag_file_t)) { msgwin_status_add (_("No valid tag at line %d."), line); } else { @@ -559,7 +561,12 @@
g_return_val_if_fail (DOC_VALID (doc), FALSE);
- if (get_config (doc, doc_type, &filetype, &doctype)) { + if (! doc->tm_file) { + /* FIXME: we're on string freeze then don't add a new string; simply re-use + * an existing one. Need to fix this after string freeze. */ + /*msgwin_status_add (_("No tags in the document"));*/ + msgwin_status_add (_("No valid tag at line %d."), 1); + } else if (get_config (doc, doc_type, &filetype, &doctype)) { GList *tag_list;
/* get a sorted list of tags to be sure to insert by the end of the
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
plugins-commits@lists.geany.org