rpms/scim/devel scim-1.4.7-fix-fallback.patch, NONE, 1.1 scim.spec, 1.106, 1.107
Huang Peng (phuang)
fedora-extras-commits at redhat.com
Mon Mar 3 08:37:53 UTC 2008
- Previous message (by thread): rpms/olpc-utils/OLPC-2 .cvsignore, 1.29, 1.30 olpc-utils.spec, 1.36, 1.37 sources, 1.31, 1.32
- Next message (by thread): rpms/octave/devel octave.spec, 1.71, 1.72 octave-3.0.0-gcc43.patch, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: phuang
Update of /cvs/pkgs/rpms/scim/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18639
Modified Files:
scim.spec
Added Files:
scim-1.4.7-fix-fallback.patch
Log Message:
Fix fallback problem in gtkim module #235147.
scim-1.4.7-fix-fallback.patch:
--- NEW FILE scim-1.4.7-fix-fallback.patch ---
diff -up scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp.fix-fallback scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp
--- scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp.fix-fallback 2008-03-03 16:02:44.000000000 +0800
+++ scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp 2008-03-03 16:29:49.000000000 +0800
@@ -137,6 +137,12 @@ static gboolean gtk_scim_key_snooper
static void gtk_im_slave_commit_cb (GtkIMContext *context,
const char *str,
GtkIMContextSCIM *context_scim);
+static void gtk_im_slave_preedit_changed_cb (GtkIMContext *context,
+ GtkIMContextSCIM *context_scim);
+static void gtk_im_slave_preedit_start_cb (GtkIMContext *context,
+ GtkIMContextSCIM *context_scim);
+static void gtk_im_slave_preedit_end_cb (GtkIMContext *context,
+ GtkIMContextSCIM *context_scim);
/* private functions */
static void panel_slot_reload_config (int context);
@@ -499,11 +505,30 @@ gtk_im_context_scim_init (GtkIMContextSC
context_scim->impl = NULL;
/* slave exists for using gtk+'s table based input method */
+ context_scim->slave_preedit = false;
context_scim->slave = gtk_im_context_simple_new ();
g_signal_connect(G_OBJECT(context_scim->slave),
"commit",
G_CALLBACK(gtk_im_slave_commit_cb),
context_scim);
+
+ g_signal_connect(G_OBJECT(context_scim->slave),
+ "preedit-changed",
+ G_CALLBACK(gtk_im_slave_preedit_changed_cb),
+ context_scim);
+
+ g_signal_connect(G_OBJECT(context_scim->slave),
+ "preedit-start",
+ G_CALLBACK(gtk_im_slave_preedit_start_cb),
+ context_scim);
+
+ g_signal_connect(G_OBJECT(context_scim->slave),
+ "preedit-end",
+ G_CALLBACK(gtk_im_slave_preedit_end_cb),
+ context_scim);
+
+
+
if (_backend.null ()) return;
@@ -609,6 +634,15 @@ gtk_im_context_scim_finalize (GObject *o
g_signal_handlers_disconnect_by_func(context_scim->slave,
(void *)gtk_im_slave_commit_cb,
(void *)context_scim);
+ g_signal_handlers_disconnect_by_func(context_scim->slave,
+ (void *)gtk_im_slave_preedit_changed_cb,
+ (void *)context_scim);
+ g_signal_handlers_disconnect_by_func(context_scim->slave,
+ (void *)gtk_im_slave_preedit_start_cb,
+ (void *)context_scim);
+ g_signal_handlers_disconnect_by_func(context_scim->slave,
+ (void *)gtk_im_slave_preedit_end_cb,
+ (void *)context_scim);
g_object_unref(context_scim->slave);
gtk_im_context_scim_finalize_partial (context_scim);
@@ -649,8 +683,15 @@ gtk_im_context_scim_filter_keypress (Gtk
if (!_snooper_installed)
ret = gtk_scim_key_snooper (0, event, 0);
- if (!ret && context_scim->slave)
- ret = gtk_im_context_filter_keypress (context_scim->slave, event);
+ if (context_scim->slave) {
+ if (!ret ) {
+ ret = gtk_im_context_filter_keypress (context_scim->slave, event);
+ }
+ else if (context_scim->slave_preedit) {
+ context_scim->slave_preedit = false;
+ gtk_im_context_reset (context_scim->slave);
+ }
+ }
}
return ret;
@@ -853,6 +894,11 @@ gtk_im_context_scim_get_preedit_string (
SCIM_DEBUG_FRONTEND(1) << "gtk_im_context_scim_get_preedit_string...\n";
GtkIMContextSCIM *context_scim = GTK_IM_CONTEXT_SCIM (context);
+
+ if (context_scim->slave_preedit == true) {
+ gtk_im_context_get_preedit_string (context_scim->slave, str, attrs, cursor_pos);
+ return;
+ }
if (context_scim && context_scim->impl && context_scim->impl->is_on) {
String mbs = utf8_wcstombs (context_scim->impl->preedit_string);
@@ -1024,6 +1070,30 @@ gtk_im_slave_commit_cb (GtkIMContext
g_signal_emit_by_name(context_scim, "commit", str);
}
+static void
+gtk_im_slave_preedit_changed_cb (GtkIMContext *context,
+ GtkIMContextSCIM *context_scim)
+{
+ context_scim->slave_preedit = true;
+ g_signal_emit_by_name(context_scim, "preedit-changed");
+}
+
+static void
+gtk_im_slave_preedit_start_cb (GtkIMContext *context,
+ GtkIMContextSCIM *context_scim)
+{
+ context_scim->slave_preedit = true;
+ g_signal_emit_by_name(context_scim, "preedit-start");
+}
+
+static void
+gtk_im_slave_preedit_end_cb (GtkIMContext *context,
+ GtkIMContextSCIM *context_scim)
+{
+ context_scim->slave_preedit = false;
+ g_signal_emit_by_name(context_scim, "preedit-end");
+}
+
/* Panel Slot functions */
static void
panel_slot_reload_config (int context)
diff -up scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.h.fix-fallback scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.h
--- scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.h.fix-fallback 2008-03-03 16:18:44.000000000 +0800
+++ scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.h 2008-03-03 16:19:08.000000000 +0800
@@ -39,6 +39,7 @@ struct _GtkIMContextSCIM
{
GtkIMContext object;
GtkIMContext *slave;
+ bool slave_preedit;
GtkIMContextSCIMImpl *impl;
Index: scim.spec
===================================================================
RCS file: /cvs/pkgs/rpms/scim/devel/scim.spec,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -r1.106 -r1.107
--- scim.spec 26 Feb 2008 03:04:05 -0000 1.106
+++ scim.spec 3 Mar 2008 08:37:14 -0000 1.107
@@ -3,7 +3,7 @@
Name: scim
Version: 1.4.7
-Release: 12%{?dist}
+Release: 13%{?dist}
Summary: Smart Common Input Method platform
License: LGPLv2+
@@ -38,6 +38,7 @@
Patch17: scim-1.4.5-no-rpath-libdir.patch
Patch18: scim-1.4.7-ja-sinhala-236715.patch
Patch19: scim-1.4.7-remove-locale.patch
+Patch20: scim-1.4.7-fix-fallback.patch
%description
SCIM is a user friendly and full featured input method user interface and
@@ -156,6 +157,7 @@
%patch17 -p1 -b .17-rpath~
%patch18 -p1 -b .18-sinhala~
%patch19 -p1 -b .19-remove-locale~
+%patch20 -p1 -b .20-fix-fallback
%if %{snapshot}
./bootstrap
@@ -293,6 +295,9 @@
%changelog
+* Mon Mar 3 2008 Huang Peng <phuang at redhat.com> - 1.4.7-13
+- Fix fallback problem in gtkim module #235147.
+
* Tue Feb 26 2008 Huang Peng <phuang at redhat.com> - 1.4.7-12
- Update to scim.conf to use /usr/bin/scim to start scim processes.
- Previous message (by thread): rpms/olpc-utils/OLPC-2 .cvsignore, 1.29, 1.30 olpc-utils.spec, 1.36, 1.37 sources, 1.31, 1.32
- Next message (by thread): rpms/octave/devel octave.spec, 1.71, 1.72 octave-3.0.0-gcc43.patch, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list