[ibus/f16] Added ibus-771115-property-compatible.patch for f16

Takao Fujiwara fujiwara at fedoraproject.org
Wed Jan 4 04:45:06 UTC 2012


commit 3b4ca626a57138b0985a8501dbcc2999513c7bbf
Author: Takao Fujiwara <tfujiwar at redhat.com>
Date:   Wed Jan 4 13:32:28 2012 +0900

    Added ibus-771115-property-compatible.patch for f16

 ibus-771115-property-compatible.patch |  163 +++++++++++++++++++++++++++++++++
 ibus.spec                             |   11 ++-
 2 files changed, 173 insertions(+), 1 deletions(-)
---
diff --git a/ibus-771115-property-compatible.patch b/ibus-771115-property-compatible.patch
new file mode 100644
index 0000000..e0e42c0
--- /dev/null
+++ b/ibus-771115-property-compatible.patch
@@ -0,0 +1,163 @@
+--- ibus-1.4.0/src/ibusproperty.c.orig	2012-01-04 12:31:08.697335369 +0900
++++ ibus-1.4.0/src/ibusproperty.c	2012-01-04 12:58:07.191725794 +0900
+@@ -218,6 +218,17 @@ ibus_property_class_init (IBusPropertyCl
+ static void
+ ibus_property_init (IBusProperty *prop)
+ {
++    prop->key = NULL;
++    prop->type = 0;
++    prop->label = NULL;
++    prop->icon = NULL;
++    prop->tooltip = NULL;
++    prop->sensitive = FALSE;
++    prop->visible = FALSE;
++    prop->state = 0;
++
++    prop->sub_props = NULL;
++
+     prop->priv = IBUS_PROPERTY_GET_PRIVATE (prop);
+ 
+     ibus_property_set_label (prop, NULL);
+@@ -308,6 +319,27 @@ ibus_property_get_property (IBusProperty
+ static void
+ ibus_property_destroy (IBusProperty *prop)
+ {
++    g_free (prop->key);
++    prop->key = NULL;
++
++    g_free (prop->icon);
++    prop->icon = NULL;
++
++    if (prop->label) {
++        g_object_unref (prop->label);
++        prop->label = NULL;
++    }
++
++    if (prop->tooltip) {
++        g_object_unref (prop->tooltip);
++        prop->tooltip = NULL;
++    }
++
++    if (prop->sub_props) {
++        g_object_unref (prop->sub_props);
++        prop->sub_props = NULL;
++    }
++
+     g_free (prop->priv->key);
+     prop->priv->key = NULL;
+ 
+@@ -494,6 +526,17 @@ ibus_property_set_label (IBusProperty *p
+     g_assert (IBUS_IS_PROPERTY (prop));
+     g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
+ 
++    if (prop->label) {
++        g_object_unref (prop->label);
++    }
++
++    if (label == NULL) {
++        prop->label = ibus_text_new_from_static_string ("");
++    }
++    else {
++        prop->label = g_object_ref_sink (label);
++    }
++
+     if (prop->priv->label) {
+         g_object_unref (prop->priv->label);
+     }
+@@ -512,6 +555,9 @@ ibus_property_set_icon (IBusProperty *pr
+ {
+     g_assert (IBUS_IS_PROPERTY (prop));
+ 
++    g_free (prop->icon);
++    prop->icon = g_strdup (icon != NULL ? icon : "");
++
+     g_free (prop->priv->icon);
+     prop->priv->icon = g_strdup (icon != NULL ? icon : "");
+ }
+@@ -525,6 +571,19 @@ ibus_property_set_tooltip (IBusProperty
+ 
+     IBusPropertyPrivate *priv = prop->priv;
+ 
++    if (prop->tooltip) {
++        g_object_unref (prop->tooltip);
++    }
++
++    if (tooltip == NULL) {
++        prop->tooltip = ibus_text_new_from_static_string ("");
++        g_object_ref_sink (prop->tooltip);
++    }
++    else {
++        prop->tooltip = tooltip;
++        g_object_ref_sink (prop->tooltip);
++    }
++
+     if (priv->tooltip) {
+         g_object_unref (priv->tooltip);
+     }
+@@ -544,6 +603,7 @@ ibus_property_set_sensitive (IBusPropert
+                              gboolean      sensitive)
+ {
+     g_assert (IBUS_IS_PROPERTY (prop));
++    prop->sensitive = sensitive;
+     prop->priv->sensitive = sensitive;
+ }
+ 
+@@ -552,6 +612,7 @@ ibus_property_set_visible (IBusProperty
+                            gboolean      visible)
+ {
+     g_assert (IBUS_IS_PROPERTY (prop));
++    prop->visible = visible;
+     prop->priv->visible = visible;
+ }
+ 
+@@ -564,6 +625,7 @@ ibus_property_set_state (IBusProperty  *
+               state == PROP_STATE_CHECKED ||
+               state == PROP_STATE_INCONSISTENT);
+ 
++    prop->state = state;
+     prop->priv->state = state;
+ }
+ 
+@@ -576,6 +638,19 @@ ibus_property_set_sub_props (IBusPropert
+ 
+     IBusPropertyPrivate *priv = prop->priv;
+ 
++    if (prop->sub_props) {
++        g_object_unref (prop->sub_props);
++    }
++
++    if (prop_list) {
++        prop->sub_props = prop_list;
++        g_object_ref_sink (prop_list);
++    }
++    else {
++        prop->sub_props = ibus_prop_list_new ();
++        g_object_ref_sink (prop->sub_props);
++    }
++
+     if (priv->sub_props) {
+         g_object_unref (priv->sub_props);
+     }
+--- ibus-1.4.0/src/ibusproperty.h.orig	2012-01-04 12:30:52.189069565 +0900
++++ ibus-1.4.0/src/ibusproperty.h	2012-01-04 12:34:38.101706419 +0900
+@@ -140,6 +140,20 @@ typedef struct _IBusPropListClass IBusPr
+ struct _IBusProperty {
+     /*< private >*/
+     IBusSerializable parent;
++
++    /*< public >*/
++    gchar    *key;
++    gchar    *icon;
++    IBusText *label;
++    IBusText *tooltip;
++
++    gboolean sensitive;
++    gboolean visible;
++    guint type;
++    guint state;
++
++    IBusPropList *sub_props;
++
+     IBusPropertyPrivate *priv;
+ 
+     gpointer pdummy[7];
diff --git a/ibus.spec b/ibus.spec
index d6d42bb..9511d5a 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -33,7 +33,7 @@
 
 Name:       ibus
 Version:    1.4.0
-Release:    16%{?dist}
+Release:    17%{?dist}
 Summary:    Intelligent Input Bus for Linux OS
 License:    LGPLv2+
 Group:      System Environment/Libraries
@@ -55,6 +55,7 @@ Patch91:    ibus-gjs-xx-gnome-shell-3.1.4-build-failure.patch
 # Workaround to disable preedit on gnome-shell until bug 658420 is fixed.
 # https://bugzilla.gnome.org/show_bug.cgi?id=658420
 Patch92:    ibus-xx-g-s-disable-preedit.patch
+Patch93:    ibus-771115-property-compatible.patch
 
 BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -214,6 +215,10 @@ mv data/ibus.schemas.in data/ibus.schemas.in.in
 %patch3 -p1 -b .bridge-key
 %patch4 -p1 -b .setup-frequent-lang
 
+%if 0%{?fedora} <= 16
+%patch93 -p1 -b .compat
+%endif
+
 %build
 %if %have_libxkbfile
 XKB_PRELOAD_LAYOUTS=\
@@ -435,6 +440,10 @@ fi
 %{_datadir}/gtk-doc/html/*
 
 %changelog
+* Wed Jan 04 2012 Takao Fujiwara <tfujiwar at redhat.com> - 1.4.0-17
+- Added ibus-771115-property-compatible.patch for f16
+  Fixed Bug 771115 - IBusProperty back compatibility.
+
 * Fri Dec 30 2011 Takao Fujiwara <tfujiwar at redhat.com> - 1.4.0-16
 - Enhanced ibus-gnome3 shell lookup window.
 - Updated ibus-HEAD.patch from upstream


More information about the scm-commits mailing list