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.