[geany/geany] 6c7e70: Fix memory leak when build regex changes
Nick Treleaven
git-noreply at xxxxx
Thu Jul 26 00:02:34 UTC 2012
Branch: refs/heads/document-messages
Author: Nick Treleaven <nick.treleaven at btinternet.com>
Committer: Nick Treleaven <nick.treleaven at btinternet.com>
Date: Mon, 26 Dec 2011 17:42:15
Commit: 6c7e7096526cc11276cad88a7e94c2fcf996d668
https://github.com/geany/geany/commit/6c7e7096526cc11276cad88a7e94c2fcf996d668
Log Message:
-----------
Fix memory leak when build regex changes
Modified Paths:
--------------
src/filetypes.c
Modified: src/filetypes.c
19 files changed, 5 insertions(+), 14 deletions(-)
===================================================================
@@ -1110,18 +1110,6 @@ static void create_radio_menu_item(GtkWidget *menu, GeanyFiletype *ftype)
}
-static void set_error_regex(GeanyFiletype *ft, gchar *string)
-{
- setptr(ft->error_regex_string, string);
-
- if (ft->priv->error_regex)
- g_regex_unref(ft->priv->error_regex);
-
- ft->priv->error_regex = NULL;
- /* regex will be compiled when needed */
-}
-
-
static void filetype_free(gpointer data, G_GNUC_UNUSED gpointer user_data)
{
GeanyFiletype *ft = data;
@@ -1139,7 +1127,9 @@ static void filetype_free(gpointer data, G_GNUC_UNUSED gpointer user_data)
g_free(ft->filecmds);
g_free(ft->ftdefcmds);
g_free(ft->execcmds);
- set_error_regex(ft, NULL);
+ g_free(ft->error_regex_string);
+ if (ft->priv->error_regex)
+ g_regex_unref(ft->priv->error_regex);
if (ft->icon)
g_object_unref(ft->icon);
@@ -1544,8 +1534,9 @@ static void compile_regex(GeanyFiletype *ft, gchar *regstr)
filetypes_get_display_name(ft), error->message);
g_error_free(error);
}
+ if (ft->priv->error_regex)
+ g_regex_unref(ft->priv->error_regex);
ft->priv->error_regex = regex;
- /* regex will be freed in set_error_regex(). */
}
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Commits
mailing list