5deefb2
From 35f6353b89726878fa99de2588fb6be5aef8686c Mon Sep 17 00:00:00 2001
5deefb2
From: fujiwarat <takao.fujiwara1@gmail.com>
5deefb2
Date: Mon, 5 Mar 2012 11:16:23 +0900
5deefb2
Subject: [PATCH] Fix python library to load libibus.so.Y
5deefb2
5deefb2
---
5deefb2
 ibus/_config.py.in |    2 ++
5deefb2
 ibus/common.py     |    3 ++-
5deefb2
 2 files changed, 4 insertions(+), 1 deletions(-)
5deefb2
5deefb2
diff --git a/ibus/_config.py.in b/ibus/_config.py.in
5deefb2
index 098d805..c9d11bb 100644
5deefb2
--- a/ibus/_config.py.in
5deefb2
+++ b/ibus/_config.py.in
5deefb2
@@ -25,6 +25,7 @@ __all__ = (
5deefb2
     "get_copyright",
5deefb2
     "get_license",
5deefb2
     "get_ICON_KEYBOARD",
5deefb2
+    "LIBIBUS_SONAME",
5deefb2
     "ISOCODES_PREFIX",
5deefb2
     "_"
5deefb2
 )
5deefb2
@@ -55,4 +56,5 @@ def get_ICON_KEYBOARD():
5deefb2
         return fallback_icon
5deefb2
     return icon
5deefb2
 
5deefb2
+LIBIBUS_SONAME='libibus-@IBUS_API_VERSION@.so.@LT_CURRENT_MINUS_AGE@'
5deefb2
 ISOCODES_PREFIX='@ISOCODES_PREFIX@'
5deefb2
diff --git a/ibus/common.py b/ibus/common.py
5deefb2
index 6483aae..fb39d56 100644
5deefb2
--- a/ibus/common.py
5deefb2
+++ b/ibus/common.py
5deefb2
@@ -59,6 +59,7 @@ import os
5deefb2
 import sys
5deefb2
 from xdg import BaseDirectory
5deefb2
 import ctypes
5deefb2
+import _config
5deefb2
 
5deefb2
 # __display = os.environ["DISPLAY"]
5deefb2
 # __hostname, __display_screen = __display.split(":", 1)
5deefb2
@@ -104,7 +105,7 @@ import ctypes
5deefb2
 #         return None
5deefb2
 #     return address
5deefb2
 
5deefb2
-libibus = ctypes.CDLL("libibus-1.0.so.0")
5deefb2
+libibus = ctypes.CDLL(_config.LIBIBUS_SONAME)
5deefb2
 get_address = libibus.ibus_get_address
5deefb2
 get_address.restype=ctypes.c_char_p
5deefb2
 
5deefb2
-- 
5deefb2
1.7.9.1
ca22209
e429e12
From 401f881314abce57a0979aa4ef08fc5462dfe3ca Mon Sep 17 00:00:00 2001
e429e12
From: fujiwarat <takao.fujiwara1@gmail.com>
e429e12
Date: Sat, 10 Mar 2012 09:45:07 +0900
e429e12
Subject: [PATCH] Fix to ungrab ui/gtk3/switcher for GTK 3.3.18 and GLib
e429e12
 2.31.20
e429e12
e429e12
---
e429e12
 ui/gtk3/switcher.vala |    8 ++++++++
e429e12
 1 files changed, 8 insertions(+), 0 deletions(-)
e429e12
e429e12
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
e429e12
index 76c67ec..131cad5 100644
e429e12
--- a/ui/gtk3/switcher.vala
e429e12
+++ b/ui/gtk3/switcher.vala
e429e12
@@ -127,6 +127,9 @@ class Switcher : Gtk.Window {
e429e12
         m_loop.run();
e429e12
         m_loop = null;
e429e12
 
e429e12
+        keyboard.ungrab(Gdk.CURRENT_TIME);
e429e12
+        pointer.ungrab(Gdk.CURRENT_TIME);
e429e12
+
e429e12
         hide();
e429e12
         // Make sure the switcher is hidden before returning from this function.
e429e12
         while (Gtk.events_pending())
e429e12
@@ -239,6 +242,11 @@ class Switcher : Gtk.Window {
e429e12
             return true;
e429e12
         }
e429e12
 
e429e12
+        // if e.type == Gdk.EventType.KEY_RELEASE, m_loop is already null.
e429e12
+        if (m_loop == null) {
e429e12
+            return false;
e429e12
+        }
e429e12
+
e429e12
         m_loop.quit();
e429e12
         m_result = (int)m_selected_engine;
e429e12
         return true;
e429e12
-- 
e429e12
1.7.9.1
e429e12