Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release-src > by-pkgid > e6e43c08be69224e12468ab37a1a3cc9 > files > 2

scim-bridge-0.4.16-5mdv2010.1.src.rpm

diff -up scim-bridge-0.4.15/client-gtk/scim-bridge-client-imcontext-gtk.c.fix-gdm scim-bridge-0.4.15/client-gtk/scim-bridge-client-imcontext-gtk.c
--- scim-bridge-0.4.15/client-gtk/scim-bridge-client-imcontext-gtk.c.fix-gdm	2007-06-23 20:58:40.000000000 +0800
+++ scim-bridge-0.4.15/client-gtk/scim-bridge-client-imcontext-gtk.c	2008-03-04 13:00:49.000000000 +0800
@@ -37,6 +37,8 @@
 #include "scim-bridge-output.h"
 #include "scim-bridge-string.h"
 
+#define SEND_EVENT_MASK 0x02
+
 /* Typedef */
 struct _ScimBridgeClientIMContext
 {
@@ -202,7 +204,7 @@ static gboolean key_snooper (GtkWidget *
 {
     scim_bridge_pdebugln (7, "key_snooper ()");
 
-    if (!event->send_event && scim_bridge_client_is_messenger_opened () && focused_imcontext != NULL) {
+    if (!(event->send_event & SEND_EVENT_MASK)  && scim_bridge_client_is_messenger_opened () && focused_imcontext != NULL) {
         if (focused_imcontext->client_window != NULL) {
             int new_window_x;
             int new_window_y;
@@ -558,7 +560,7 @@ void scim_bridge_client_imcontext_forwar
 { 
     GdkEventKey gdk_event;
     scim_bridge_key_event_bridge_to_gdk (&gdk_event, imcontext->client_window, key_event);
-    gdk_event.send_event = TRUE;
+    gdk_event.send_event |= SEND_EVENT_MASK;
     if (imcontext == focused_imcontext && focused_widget != NULL) {
         const char *signal_name = NULL;
         if (scim_bridge_key_event_is_pressed (key_event)) {
@@ -764,7 +766,7 @@ gboolean scim_bridge_client_imcontext_fi
 
     ScimBridgeClientIMContext *imcontext = SCIM_BRIDGE_CLIENT_IMCONTEXT (context);
     
-    if (!event->send_event && scim_bridge_client_is_messenger_opened () && imcontext != NULL && !key_snooper_used) {
+    if (!(event->send_event & SEND_EVENT_MASK) && scim_bridge_client_is_messenger_opened () && imcontext != NULL && !key_snooper_used) {
 
         if (imcontext->client_window != NULL) {
             int new_window_x;