Revision: 936 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=936&view=rev Author: ntrel Date: 2009-09-16 11:08:45 +0000 (Wed, 16 Sep 2009)
Log Message: ----------- Fix possible memory leak; use keybindings_set_item() so we don't leave Geany to free our memory (bad practice).
Modified Paths: -------------- trunk/geany-plugins/geanylua/ChangeLog trunk/geany-plugins/geanylua/glspi_init.c
Modified: trunk/geany-plugins/geanylua/ChangeLog =================================================================== --- trunk/geany-plugins/geanylua/ChangeLog 2009-09-15 21:34:38 UTC (rev 935) +++ trunk/geany-plugins/geanylua/ChangeLog 2009-09-16 11:08:45 UTC (rev 936) @@ -1,3 +1,7 @@ +September 16, 2009 (ntrel) + Fix possible memory leak; use keybindings_set_item() so we don't + leave Geany to free our memory (bad practice). + September 1, 2009 (ntrel) Try loading system support library if user library fails. Check support library ABI version matches.
Modified: trunk/geany-plugins/geanylua/glspi_init.c =================================================================== --- trunk/geany-plugins/geanylua/glspi_init.c 2009-09-15 21:34:38 UTC (rev 935) +++ trunk/geany-plugins/geanylua/glspi_init.c 2009-09-16 11:08:45 UTC (rev 936) @@ -147,25 +147,24 @@ g_strfreev(lines); KG=plugin_set_key_group(glspi_geany_plugin, "lua_scripts", n, NULL); for (i=0; i<n; i++) { - GeanyKeyBinding *kb = keybindings_get_item(KG, i); + gchar *label=NULL; + gchar *name=NULL; if (KS[i]) { gchar*p=NULL; - kb->label=g_path_get_basename(KS[i]); - fixup_label(kb->label); - p=strchr(kb->label,'_'); + label=g_path_get_basename(KS[i]); + fixup_label(label); + p=strchr(label,'_'); if (p) { *p=' ';} - p=strrchr(kb->label, '.'); + p=strrchr(label, '.'); if (p && (strcasecmp(p, ".lua")==0)) { *p='\0'; } - kb->name=g_strdup_printf("lua_script_%d", i+1); - } else { - kb->label=NULL; + name=g_strdup_printf("lua_script_%d", i+1); } - kb->callback = kb_activate; /* no default keycombos, just overridden by user settings */ - kb->key = 0; - kb->mods = 0; + keybindings_set_item(KG, i, kb_activate, 0, 0, name, label, NULL); + g_free(label); + g_free(name); } } else { if (geany->app->debug_mode) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.