ibus/ibus-HEAD.patch

92 lines
2.5 KiB
Diff

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