[gtk+] Duplicate the TIC strings before NULLing the GObject data.
- From: John Ralls <jralls src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Duplicate the TIC strings before NULLing the GObject data.
- Date: Tue, 8 Aug 2017 20:22:13 +0000 (UTC)
commit a2c4c54a2fa1e0a46ef426922c0ada5136c6e06b
Author: John Ralls <jralls ceridwen us>
Date: Tue Aug 8 23:15:46 2017 +0300
Duplicate the TIC strings before NULLing the GObject data.
NULLing the data strings in GObject frees and invalidates the pointers
returned by g_object_get_data so we need our own copy of the values.
modules/input/imquartz.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/modules/input/imquartz.c b/modules/input/imquartz.c
index 7e36378..c7bc5d2 100644
--- a/modules/input/imquartz.c
+++ b/modules/input/imquartz.c
@@ -131,8 +131,8 @@ output_result (GtkIMContext *context,
gboolean retval = FALSE;
gchar *fixed_str, *marked_str;
- fixed_str = g_object_get_data (G_OBJECT (win), TIC_INSERT_TEXT);
- marked_str = g_object_get_data (G_OBJECT (win), TIC_MARKED_TEXT);
+ fixed_str = g_strdup (g_object_get_data (G_OBJECT (win), TIC_INSERT_TEXT));
+ marked_str = g_strdup (g_object_get_data (G_OBJECT (win), TIC_MARKED_TEXT));
if (fixed_str)
{
GTK_NOTE (MISC, g_print ("tic-insert-text: %s\n", fixed_str));
@@ -171,7 +171,8 @@ output_result (GtkIMContext *context,
if (qc->preedit_str && strlen (qc->preedit_str) > 0)
retval = TRUE;
}
-
+ g_free (fixed_str);
+ g_free (marked_str);
return retval;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]