Update to 1.3.4-17

This commit is contained in:
Daiki Ueno 2014-11-06 18:15:02 +09:00
parent 168cae4c97
commit afc6f7af9b
2 changed files with 105 additions and 1 deletions

View File

@ -0,0 +1,97 @@
From e995acb046c9e6bd3ee48cb0cf1ccf9d754546e7 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@unixuser.org>
Date: Thu, 6 Nov 2014 16:05:52 +0900
Subject: [PATCH] engine: Disable key processing on password input
---
src/engine.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
Index: ibus-m17n-1.3.4/src/engine.c
===================================================================
--- ibus-m17n-1.3.4.orig/src/engine.c
+++ ibus-m17n-1.3.4/src/engine.c
@@ -24,6 +24,7 @@ struct _IBusM17NEngine {
#endif /* HAVE_SETUP */
IBusPropList *prop_list;
IBusKeymap *us_keymap;
+ gboolean has_focus;
};
struct _IBusM17NEngineClass {
@@ -75,6 +76,10 @@ static void ibus_m17n_engine_property_ac
(IBusEngine *engine,
const gchar *prop_name,
guint prop_state);
+static void ibus_m17n_engine_set_content_type
+ (IBusEngine *engine,
+ IBusInputPurpose purpose,
+ IBusInputHints hints);
static void ibus_m17n_engine_commit_string
(IBusM17NEngine *m17n,
@@ -226,6 +231,8 @@ ibus_m17n_engine_class_init (IBusM17NEng
engine_class->property_activate = ibus_m17n_engine_property_activate;
+ engine_class->set_content_type = ibus_m17n_engine_set_content_type;
+
if (!ibus_m17n_scan_class_name (G_OBJECT_CLASS_NAME (klass),
&lang, &name)) {
g_free (lang);
@@ -667,6 +674,9 @@ ibus_m17n_engine_process_key_event (IBus
(IBusM17NEngineClass *) G_OBJECT_GET_CLASS (m17n);
guint original_keyval = keyval;
+ if (!m17n->has_focus)
+ return FALSE;
+
if (modifiers & IBUS_RELEASE_MASK)
return FALSE;
@@ -704,6 +714,7 @@ ibus_m17n_engine_focus_in (IBusEngine *e
ibus_engine_register_properties (engine, m17n->prop_list);
ibus_m17n_engine_process_key (m17n, Minput_focus_in);
+ m17n->has_focus = TRUE;
parent_class->focus_in (engine);
}
@@ -717,6 +728,7 @@ ibus_m17n_engine_focus_out (IBusEngine *
properly, we just reset the IC instead of passing Mfocus_out to
m17n-lib. */
minput_reset_ic (m17n->context);
+ m17n->has_focus = FALSE;
parent_class->focus_out (engine);
}
@@ -812,6 +824,29 @@ ibus_m17n_engine_property_activate (IBus
}
static void
+ibus_m17n_engine_set_content_type (IBusEngine *engine,
+ IBusInputPurpose purpose,
+ IBusInputHints hints)
+{
+ IBusM17NEngine *m17n = (IBusM17NEngine *) engine;
+
+ /* For password and PIN input, disable key processing by emulating
+ 'focus-out'. */
+ switch (purpose) {
+ case IBUS_INPUT_PURPOSE_PASSWORD:
+ case IBUS_INPUT_PURPOSE_PIN:
+ ibus_m17n_engine_process_key (m17n, Minput_focus_out);
+ m17n->has_focus = FALSE;
+ break;
+
+ default:
+ ibus_m17n_engine_process_key (m17n, Minput_focus_in);
+ m17n->has_focus = TRUE;
+ break;
+ }
+}
+
+static void
ibus_m17n_engine_update_lookup_table (IBusM17NEngine *m17n)
{
ibus_lookup_table_clear (m17n->table);

View File

@ -1,7 +1,7 @@
%global require_ibus_version 1.4.0 %global require_ibus_version 1.4.0
Name: ibus-m17n Name: ibus-m17n
Version: 1.3.4 Version: 1.3.4
Release: 16%{?dist} Release: 17%{?dist}
Summary: The M17N engine for IBus platform Summary: The M17N engine for IBus platform
License: GPLv2+ License: GPLv2+
Group: System Environment/Libraries Group: System Environment/Libraries
@ -13,6 +13,7 @@ Patch0: ibus-m17n-HEAD.patch
Patch1: ibus-m17n-fix-data-location.patch Patch1: ibus-m17n-fix-data-location.patch
Patch2: ibus-m17n-fix-preedit-color.patch Patch2: ibus-m17n-fix-preedit-color.patch
Patch3: ibus-m17n-fix-preferences-ui.patch Patch3: ibus-m17n-fix-preferences-ui.patch
Patch4: ibus-m17n-content-type.patch
# Fedora specific patches: # Fedora specific patches:
# Enable lv3:ralt_switch option for some Indic engines in default.xml. # Enable lv3:ralt_switch option for some Indic engines in default.xml.
@ -47,6 +48,7 @@ the input table maps from m17n-db.
%patch1 -p1 -b .fix-data-location %patch1 -p1 -b .fix-data-location
%patch2 -p1 -b .fix-preedit-color %patch2 -p1 -b .fix-preedit-color
%patch3 -p1 -b .fix-preferences-ui %patch3 -p1 -b .fix-preferences-ui
%patch4 -p1 -b .content-type
%patch100 -p1 -b .xkb-options %patch100 -p1 -b .xkb-options
%patch101 -p1 -b .hide-title-status %patch101 -p1 -b .hide-title-status
%patch102 -p1 -b .gettext-0.19 %patch102 -p1 -b .gettext-0.19
@ -74,6 +76,11 @@ desktop-file-validate ${RPM_BUILD_ROOT}%{_datadir}/applications/ibus-setup-m17n.
%{_datadir}/applications/ibus-setup-m17n.desktop %{_datadir}/applications/ibus-setup-m17n.desktop
%changelog %changelog
* Thu Nov 6 2014 Daiki Ueno <dueno@redhat.com> - 1.3.4-17
- Add ibus-m17n-content-type.patch
- Fix bug 1024071 - ibus-m17n is enabled in the password entry field
of the lock screen
* Tue Sep 16 2014 Daiki Ueno <dueno@redhat.com> - 1.3.4-16 * Tue Sep 16 2014 Daiki Ueno <dueno@redhat.com> - 1.3.4-16
- Add ibus-m17n-fix-preferences-ui.patch - Add ibus-m17n-fix-preferences-ui.patch
- Fix bug 1117720 - ibus-m17n input method's setup option does not work - Fix bug 1117720 - ibus-m17n input method's setup option does not work