SF.net SVN: geany:[4475] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Mon Dec 7 18:08:36 UTC 2009


Revision: 4475
          http://geany.svn.sourceforge.net/geany/?rev=4475&view=rev
Author:   ntrel
Date:     2009-12-07 18:08:35 +0000 (Mon, 07 Dec 2009)

Log Message:
-----------
Fix segfault on startup (oops).

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

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-12-07 17:51:37 UTC (rev 4474)
+++ trunk/ChangeLog	2009-12-07 18:08:35 UTC (rev 4475)
@@ -16,6 +16,8 @@
    tagmanager/verilog.c, tagmanager/Makefile.am,
    data/filetypes.verilog, data/filetype_extensions.conf, wscript:
    Apply patch from Kelvin Gardiner to add Verilog filetype (thanks).
+ * src/highlighting.c:
+   Fix segfault on startup (oops).
 
 
 2009-12-03  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/src/highlighting.c
===================================================================
--- trunk/src/highlighting.c	2009-12-07 17:51:37 UTC (rev 4474)
+++ trunk/src/highlighting.c	2009-12-07 18:08:35 UTC (rev 4475)
@@ -67,7 +67,7 @@
 	gchar			**property_values;
 } StyleSet;
 
-/* each filetype has a styleset except GEANY_FILETYPES_NONE, which uses common_style_set */
+/* each filetype has a styleset but GEANY_FILETYPES_NONE uses common_style_set for styling */
 static StyleSet *style_sets = NULL;
 
 
@@ -3113,17 +3113,20 @@
 	GeanyFiletype *ft = filetypes[filetype_idx];
 	gint lexer_id = get_lexer_filetype(ft);
 
+	if (!style_sets)
+		style_sets = g_new0(StyleSet, filetypes_array->len);
+
+	/* Clear old information if necessary - e.g. when reloading config */
+	free_styleset(filetype_idx);
+
+	read_properties(ft, config, configh);
+
 	/* None filetype handled specially */
 	if (filetype_idx == GEANY_FILETYPES_NONE)
 	{
 		styleset_common_init(GEANY_FILETYPES_NONE, config, configh);
 		return;
 	}
-	if (!style_sets)
-		style_sets = g_new0(StyleSet, filetypes_array->len);
-
-	/* Clear old information if necessary - e.g. when reloading config */
-	free_styleset(filetype_idx);
 	/* All stylesets depend on filetypes.common */
 	filetypes_load_config(GEANY_FILETYPES_NONE, FALSE);
 
@@ -3174,7 +3177,6 @@
 				geany_debug("Filetype %s has a recursive lexer_filetype %s set!",
 					ft->name, ft->lexer_filetype->name);
 	}
-	read_properties(ft, config, configh);
 
 	/* should be done in filetypes.c really: */
 	get_keyfile_wordchars(config, configh, &style_sets[filetype_idx].wordchars);


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