You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.9 KiB
92 lines
2.9 KiB
commit 616770084991de0f36bea7b5861ef1b1657c9a31
|
|
Author: ZhaoQiang <zhaoqiang@gnome.org>
|
|
Date: Mon Nov 19 19:35:10 2018 +0800
|
|
|
|
Update ibus-setup-pinyin.in: to avoid ibus-pinyin-setup crash in pure python3 env.
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index aa6242a..ca99a6f 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -82,6 +82,11 @@ AC_PATH_PROG(ENV_IBUS_TEST, env)
|
|
AC_SUBST(ENV_IBUS_TEST)
|
|
|
|
# check python
|
|
+AC_ARG_WITH(python,
|
|
+ AS_HELP_STRING([--with-python[=PATH]],
|
|
+ [Select python2 or python3]),
|
|
+ [PYTHON=$with_python], []
|
|
+)
|
|
AM_PATH_PYTHON([2.5])
|
|
|
|
# --enable-boost
|
|
diff --git a/setup/ibus-setup-pinyin.in b/setup/ibus-setup-pinyin.in
|
|
index 2566737..314072c 100644
|
|
--- a/setup/ibus-setup-pinyin.in
|
|
+++ b/setup/ibus-setup-pinyin.in
|
|
@@ -26,5 +26,5 @@ export IBUS_PREFIX=@prefix@
|
|
export IBUS_DATAROOTDIR=@datarootdir@
|
|
export IBUS_LOCALEDIR=@localedir@
|
|
cd @prefix@/share/ibus-pinyin/setup/
|
|
-exec python main.py $@
|
|
+exec @PYTHON@ main.py $@
|
|
|
|
diff --git a/setup/main.py b/setup/main.py
|
|
index fb27103..2e4051a 100644
|
|
--- a/setup/main.py
|
|
+++ b/setup/main.py
|
|
@@ -20,15 +20,21 @@
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
+from __future__ import print_function
|
|
+
|
|
import gettext
|
|
import locale
|
|
import os
|
|
import sys
|
|
|
|
+from gi import require_version as gi_require_version
|
|
+gi_require_version('GLib', '2.0')
|
|
+gi_require_version('Gtk', '3.0')
|
|
+gi_require_version('IBus', '1.0')
|
|
+
|
|
from gi.repository import GLib
|
|
from gi.repository import Gtk
|
|
from gi.repository import IBus
|
|
-from xdg import BaseDirectory
|
|
|
|
import version
|
|
|
|
@@ -250,8 +256,8 @@ class PreferencesDialog:
|
|
|
|
def __correct_pinyin_toggled_cb(widget):
|
|
val = widget.get_active()
|
|
- map(lambda w: self.__builder.get_object(w[0]).set_sensitive(val),
|
|
- self.__correct_pinyin_widgets)
|
|
+ for w in self.__correct_pinyin_widgets:
|
|
+ self.__builder.get_object(w[0]).set_sensitive(val)
|
|
self.__correct_pinyin.connect("toggled", __correct_pinyin_toggled_cb)
|
|
|
|
# init value
|
|
@@ -300,8 +306,8 @@ class PreferencesDialog:
|
|
|
|
def __fuzzy_pinyin_toggled_cb(widget):
|
|
val = widget.get_active()
|
|
- map(lambda w: self.__builder.get_object(w[0]).set_sensitive(val),
|
|
- self.__fuzzy_pinyin_widgets)
|
|
+ for w in self.__fuzzy_pinyin_widgets:
|
|
+ self.__builder.get_object(w[0]).set_sensitive(val)
|
|
self.__fuzzy_pinyin.connect("toggled", __fuzzy_pinyin_toggled_cb)
|
|
|
|
# init value
|
|
@@ -404,7 +410,7 @@ class PreferencesDialog:
|
|
elif isinstance(val, str):
|
|
var = GLib.Variant.new_string(val)
|
|
else:
|
|
- print >> sys.stderr, "val(%s) is not in support type." % repr(val)
|
|
+ print("val(%s) is not in support type." % repr(val), file=sys.stderr)
|
|
return
|
|
|
|
self.__values[name] = val
|