pwu / rpms / ibus-hangul

Forked from rpms/ibus-hangul 2 years ago
Clone
Blob Blame History Raw
From de6027f586e0e8052a7e23bbe58b35eb419e971f Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@unixuser.org>
Date: Mon, 8 Nov 2010 14:12:35 +0900
Subject: [PATCH] Fix problem with ibus-1.4.

---
 src/engine.c |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/src/engine.c b/src/engine.c
index 6b0cec9..cba09df 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -111,7 +111,7 @@ static void ibus_hangul_engine_update_lookup_table
 static void ibus_config_value_changed       (IBusConfig             *config,
                                              const gchar            *section,
                                              const gchar            *name,
-                                             GValue                 *value,
+                                             GVariant               *value,
                                              gpointer                user_data);
 
 static void        lookup_table_set_visible (IBusLookupTable        *table,
@@ -174,8 +174,7 @@ ibus_hangul_engine_get_type (void)
 void
 ibus_hangul_init (IBusBus *bus)
 {
-    gboolean res;
-    GValue value = { 0, };
+    GVariant *value = NULL;
 
     hanja_table = hanja_table_load (NULL);
 
@@ -186,22 +185,18 @@ ibus_hangul_init (IBusBus *bus)
         g_object_ref_sink (config);
 
     hangul_keyboard = g_string_new_len ("2", 8);
-    res = ibus_config_get_value (config, "engine/Hangul",
-                                         "HangulKeyboard", &value);
-    if (res) {
-        const gchar* str = g_value_get_string (&value);
+    value = ibus_config_get_value (config, "engine/Hangul", "HangulKeyboard");
+    if (value) {
+        const gchar* str = g_variant_get_string (value, NULL);
         g_string_assign (hangul_keyboard, str);
-        g_value_unset(&value);
     }
 
     hanja_key_list_init(&hanja_keys);
 
-    res = ibus_config_get_value (config, "engine/Hangul",
-                                         "HanjaKeys", &value);
-    if (res) {
-        const gchar* str = g_value_get_string (&value);
+    value = ibus_config_get_value (config, "engine/Hangul", "HanjaKeys");
+    if (value) {
+        const gchar* str = g_variant_get_string (value, NULL);
         hanja_key_list_set_from_string(&hanja_keys, str);
-        g_value_unset(&value);
     } else {
 	hanja_key_list_append(&hanja_keys, IBUS_Hangul_Hanja, 0);
 	hanja_key_list_append(&hanja_keys, IBUS_F9, 0);
@@ -949,23 +944,23 @@ static void
 ibus_config_value_changed (IBusConfig   *config,
                            const gchar  *section,
                            const gchar  *name,
-                           GValue       *value,
+                           GVariant     *value,
                            gpointer      user_data)
 {
     IBusHangulEngine *hangul = (IBusHangulEngine *) user_data;
 
     if (strcmp(section, "engine/Hangul") == 0) {
         if (strcmp(name, "HangulKeyboard") == 0) {
-            const gchar *str = g_value_get_string (value);
+            const gchar *str = g_variant_get_string (value, NULL);
             g_string_assign (hangul_keyboard, str);
             hangul_ic_select_keyboard (hangul->context, hangul_keyboard->str);
         } else if (strcmp(name, "HanjaKeys") == 0) {
-            const gchar* str = g_value_get_string (value);
+            const gchar* str = g_variant_get_string (value, NULL);
 	    hanja_key_list_set_from_string(&hanja_keys, str);
         }
     } else if (strcmp(section, "panel") == 0) {
         if (strcmp(name, "lookup_table_orientation") == 0) {
-            lookup_table_orientation = g_value_get_int (value);
+            lookup_table_orientation = g_variant_get_int32 (value);
         }
     }
 }
-- 
1.7.3.2