summaryrefslogtreecommitdiff
path: root/community/ibus-chewing/ibus-chewing-696864-abrt-ibus-1.4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/ibus-chewing/ibus-chewing-696864-abrt-ibus-1.4.patch')
-rw-r--r--community/ibus-chewing/ibus-chewing-696864-abrt-ibus-1.4.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/community/ibus-chewing/ibus-chewing-696864-abrt-ibus-1.4.patch b/community/ibus-chewing/ibus-chewing-696864-abrt-ibus-1.4.patch
new file mode 100644
index 000000000..fc2be85d7
--- /dev/null
+++ b/community/ibus-chewing/ibus-chewing-696864-abrt-ibus-1.4.patch
@@ -0,0 +1,84 @@
+From ff138d7a18b7577e5f04f852bd3caf87cbc9e7cc Mon Sep 17 00:00:00 2001
+From: Ding-Yi Chen <dingyichen@gmail.com>
+Date: Thu, 20 Jan 2011 17:03:07 +1000
+Subject: [PATCH] Addressed comments of yusake
+
+---
+ src/IBusChewingEngine-def.c | 30 ++++++++++++++++++++++--------
+ 1 files changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/src/IBusChewingEngine-def.c b/src/IBusChewingEngine-def.c
+index 90c0384..8c90766 100644
+--- a/src/IBusChewingEngine-def.c
++++ b/src/IBusChewingEngine-def.c
+@@ -391,21 +391,29 @@ this option determines how these status be synchronized. Valid values:\n\
+ void g_variant_to_g_value(GVariant *gVar, GValue *gValue){
+ const GVariantType *gVType=g_variant_get_type(gVar);
+ if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_BOOLEAN)){
++ g_value_init(gValue, G_TYPE_BOOLEAN);
+ g_value_set_boolean(gValue, g_variant_get_boolean(gVar));
+ }else if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_UINT16)){
++ g_value_init(gValue, G_TYPE_UINT);
+ g_value_set_uint(gValue, g_variant_get_uint16(gVar));
+ }else if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_UINT32)){
++ g_value_init(gValue, G_TYPE_UINT);
+ g_value_set_uint(gValue, g_variant_get_uint32(gVar));
+ }else if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_UINT64)){
++ g_value_init(gValue, G_TYPE_UINT64);
+ g_value_set_uint64(gValue, g_variant_get_uint64(gVar));
+ }else if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_INT16)){
++ g_value_init(gValue, G_TYPE_INT);
+ g_value_set_int(gValue, g_variant_get_int16(gVar));
+ }else if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_INT32)){
++ g_value_init(gValue, G_TYPE_INT);
+ g_value_set_int(gValue, g_variant_get_int32(gVar));
+ }else if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_INT64)){
++ g_value_init(gValue, G_TYPE_INT);
+ g_value_set_int64(gValue, g_variant_get_int64(gVar));
+ }else if (g_variant_type_is_subtype_of(gVType, G_VARIANT_TYPE_STRING)){
+- g_value_set_int64(gValue, g_variant_get_string(gVar, NULL));
++ g_value_init(gValue, G_TYPE_STRING);
++ g_value_set_string(gValue, g_variant_get_string(gVar, NULL));
+ }
+ }
+
+@@ -419,8 +427,14 @@ GVariant *g_value_to_g_variant(GValue *gValue){
+ case G_TYPE_UINT:
+ gVar=g_variant_new_uint32(g_value_get_uint(gValue));
+ break;
++ case G_TYPE_UINT64:
++ gVar=g_variant_new_uint64(g_value_get_uint(gValue));
++ break;
+ case G_TYPE_INT:
+- gVar=g_variant_new_int32(g_value_get_int(gValue));
++ gVar=g_variant_new_int32(g_value_get_uint(gValue));
++ break;
++ case G_TYPE_INT64:
++ gVar=g_variant_new_int64(g_value_get_uint(gValue));
+ break;
+ case G_TYPE_STRING:
+ gVar=g_variant_new_string(g_value_get_string(gValue));
+@@ -435,14 +449,14 @@ GVariant *g_value_to_g_variant(GValue *gValue){
+
+ static gboolean ibus_chewing_config_get_value(IBusConfig *config, const gchar *section, const gchar *key, GValue *gValue){
+ #if IBUS_VERSION >= 10399
+- GVariant *gVar=g_variant_ref_sink(ibus_config_get_value(config, section, key));
+- if (gVar!=NULL){
+- g_variant_to_g_value(gVar, gValue);
+- g_variant_unref(gVar);
+- return TRUE;
+- }else{
++ GVariant *gVar=ibus_config_get_value(config, section, key);
++ if (gVar==NULL){
+ return FALSE;
+ }
++ g_variant_ref_sink(gVar);
++ g_variant_to_g_value(gVar, gValue);
++ g_variant_unref(gVar);
++ return TRUE;
+ #else
+ return ibus_config_get_value(config, section, key, gValue);
+ #endif
+--
+1.7.4.4
+