Sophie

Sophie

distrib > Fedora > 13 > x86_64 > by-pkgid > 7edaa027c70230f8a6e16ff4bb704e06 > files > 6

scim-1.4.9-6.fc13.src.rpm

diff -up scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp.fix-gdm scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp
--- scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp.fix-gdm	2008-03-04 11:53:56.000000000 +0800
+++ scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp	2008-03-04 11:56:59.000000000 +0800
@@ -63,6 +63,8 @@
 #include "scim_x11_utils.h"
 #endif
 
+#define SEND_EVENT_MASK 0x02
+
 using namespace scim;
 
 #include "gtkimcontextscim.h"
@@ -1024,7 +1026,7 @@ gtk_scim_key_snooper (GtkWidget    *grab
 
     gboolean ret = FALSE;
 
-    if (_focused_ic && _focused_ic->impl && (event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE) && !event->send_event) {
+    if (_focused_ic && _focused_ic->impl && (event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE) && !(event->send_event & SEND_EVENT_MASK)) {
         _focused_widget = grab_widget;
 
         KeyEvent key = keyevent_gdk_to_scim (_focused_ic, *event);
@@ -1054,7 +1056,7 @@ gtk_scim_key_snooper (GtkWidget    *grab
     } else {
         SCIM_DEBUG_FRONTEND(3) << "Failed snooper: "
                                << ((!_focused_ic || !_focused_ic->impl) ? "Invalid focused ic" :
-                                   (event->send_event ? "send event is set" : "unknown"))
+                                   ((event->send_event & SEND_EVENT_MASK) ? "send event is set" : "unknown"))
                                << "\n";
     }
 
@@ -1639,7 +1641,7 @@ keyevent_scim_to_gdk (const GtkIMContext
 
     gdkevent.type = (scimkey.is_key_release () ? GDK_KEY_RELEASE : GDK_KEY_PRESS);
     gdkevent.window = ((ic && ic->impl) ? ic->impl->client_window : 0);
-    gdkevent.send_event = TRUE;
+    gdkevent.send_event |= SEND_EVENT_MASK;
     gdkevent.time = get_time ();
     gdkevent.keyval = scimkey.code;
     gdkevent.length = 0;