Bug 552796

Summary: ibus languagebar doesn't show MenuItem on menu.
Product: [Fedora] Fedora Reporter: fujiwara <tfujiwar>
Component: ibusAssignee: Peng Huang <phuang>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: i18n-bugs, mtasaka, phuang
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-01-11 06:49:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 550001    
Attachments:
Description Flags
Patch for ibus menu.py none

Description fujiwara 2010-01-06 07:03:38 UTC
I'd like to add MenuItem on ibus languagebar with bug 550001.

Currently ibus supports CheckMenuItem() and RadioMenuItem() but it seems ImageMenuItem() doesn't work.

When I apply the patch on bug 550001, ibus puts an error:
ibus.Menu receives type == ibus.PROP_TYPE_NORMAL and call gtk.ImageMenuItem(prop)
but the argument is not correct.
I'm attaching the patch.

Comment 1 fujiwara 2010-01-06 07:05:38 UTC
Created attachment 381928 [details]
Patch for ibus menu.py

Attached the patch.
It seems to get an error when gtk.ImageMenuItem.__init__() is called so I removed it.

Comment 2 fujiwara 2010-01-06 08:48:45 UTC
Comment on attachment 381928 [details]
Patch for ibus menu.py

>diff --git a/ui/gtk/menu.py b/ui/gtk/menu.py

One typo. Both icon and label can be shown:

              self.set_image(icon.IconWidget(prop.icon, size[0]))
-+        elif self._prop.label:
++        if self._prop.label:
 +            self.set_property("label", prop.label.get_text())

Comment 3 fujiwara 2010-01-07 03:44:26 UTC
Put ibus-anthy for ImageMenuItem:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1906442

Comment 4 fujiwara 2010-01-07 04:22:06 UTC
F11 pygtk2 had a problem:
http://git.gnome.org/browse/pygtk/commit/?id=fbb3e653ab1c4f467d7aae61e8444fab8c839af1
--- a/gtk/gtk.override
+++ b/gtk/gtk.override
@@ -2064,24 +2066,20 @@ _wrap_gtk_image_menu_item_new(PyGObject *self, PyObject *args,PyObject *kwargs)
-
- if (pyg_type_from_object((PyObject *) self) != GTK_TYPE_IMAGE_MENU_ITEM) {
- PyErr_SetString(PyExc_RuntimeError, "__gobject_init__ must be used "
- "when subclassing gtk.ImageMenuItem");
- return -1;
- }
-
- pygobject_register_wrapper((PyObject *)self);

The previous pygtk sent the error: "__gobject_init__ must be used when subclassing gtk.ImageMenuItem".

But I confirmed f12 _gtk.so is fixed so this part is not needed now.
I logged this issue for the reference.

Comment 5 Peng Huang 2010-01-07 05:15:26 UTC
Fixed in upstream. I will build it soon.

Comment 6 Peng Huang 2010-01-11 06:49:37 UTC
Fixed in ibus-1.2.0.20100111-1.fc13