Author: ek.kato
Date: Fri Jun 29 23:14:59 2007
New Revision: 4637
Modified:
trunk/gtk/compose.c
trunk/gtk/gtk-im-uim.c
Log:
* gtk/compose.c
* gtk/gtk-im-uim.c
- Use g_free() instead of free() for string allocated by glib
(bug #11406).
Modified: trunk/gtk/compose.c
==============================================================================
--- trunk/gtk/compose.c (original)
+++ trunk/gtk/compose.c Fri Jun 29 23:14:59 2007
@@ -440,7 +440,7 @@
return 0;
len = strlen(mb);
strlcpy(buf, mb, MB_LEN_MAX + 1);
- free(mb);
+ g_free(mb);
return len;
}
@@ -611,7 +611,12 @@
goto error;
}
- rhs_string_utf8 = g_locale_to_utf8(rhs_string_mb, -1, NULL, NULL, NULL);
+ {
+ char *result;
+ result = g_locale_to_utf8(rhs_string_mb, -1, NULL, NULL, NULL);
+ rhs_string_utf8 = strdup(result);
+ g_free(result);
+ }
for (i = 0; i < n; i++) {
for (p = *top; p; p = p->next) {
Modified: trunk/gtk/gtk-im-uim.c
==============================================================================
--- trunk/gtk/gtk-im-uim.c (original)
+++ trunk/gtk/gtk-im-uim.c Fri Jun 29 23:14:59 2007
@@ -81,7 +81,7 @@
struct preedit_segment {
int attr;
- char *str;
+ gchar *str;
};
static int im_uim_fd = -1;
@@ -193,7 +193,8 @@
}
static char *
-get_preedit_segment(struct preedit_segment *ps, PangoAttrList *attrs, char
*str)
+get_preedit_segment(struct preedit_segment *ps, PangoAttrList *attrs,
+ gchar *str)
{
PangoAttribute *attr;
const gchar *segment_str = ps->str;
@@ -258,7 +259,7 @@
}
}
- str = (char *)realloc(str, strlen(str) + strlen(segment_str) + 1);
+ str = (gchar *)g_realloc(str, strlen(str) + strlen(segment_str) + 1);
strcat(str, segment_str);
return str;
@@ -564,7 +565,7 @@
int i;
for (i = 0; i < uic->nr_psegs; i++)
- free(uic->pseg[i].str);
+ g_free(uic->pseg[i].str);
free(uic->pseg);
uic->pseg = NULL;
@@ -1113,7 +1114,7 @@
im_uim_get_preedit_string(GtkIMContext *ic, gchar **str, PangoAttrList **attrs,
gint *cursor_pos)
{
- char *tmp;
+ gchar *tmp;
int i, pos = 0;
IMUIMContext *uic = IM_UIM_CONTEXT(ic);
@@ -1137,7 +1138,7 @@
if (str)
*str = tmp;
else
- free(tmp);
+ g_free(tmp);
}
static void