[3/3] winex11: Implement additional XEMBED_* events

Sebastian Lackner sebastian at fds-team.de
Mon Sep 23 12:40:06 CDT 2013


---
 dlls/winex11.drv/event.c |   28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

-------------- next part --------------
From ecfc7fedb83fe2d652b77447528ad89ed7e32302 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian at fds-team.de>
Date: Sun, 22 Sep 2013 04:20:16 +0200
Subject: winex11: Implement additional XEMBED_* events

---
 dlls/winex11.drv/event.c |   28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
index cf7a914..72e210e 100644
--- a/dlls/winex11.drv/event.c
+++ b/dlls/winex11.drv/event.c
@@ -1656,7 +1656,35 @@ static void handle_xembed_protocol( HWND hwnd, XClientMessageEvent *event )
     case XEMBED_EMBEDDED_NOTIFY:
         TRACE( "win %p/%lx XEMBED_EMBEDDED_NOTIFY owner %lx\n", hwnd, event->window, event->data.l[3] );
         data->embedder = event->data.l[3];
+        data->embedded = TRUE;
+        data->managed = TRUE;
         break;
+
+    case XEMBED_FOCUS_IN:
+        TRACE( "win %p/%lx XEMBED_FOCUS_IN message\n", hwnd, event->window );
+        SetForegroundWindow( hwnd );
+        break;
+
+    case XEMBED_FOCUS_OUT:
+        TRACE( "win %p/%lx XEMBED_FOCUS_OUT message\n", hwnd, event->window );
+        focus_out( event->display, hwnd );
+        break;
+
+    case XEMBED_WINDOW_DEACTIVATE:
+        TRACE( "win %p/%lx XEMBED_WINDOW_DEACTIVATE message\n", hwnd, event->window );
+        focus_out( event->display, hwnd );
+        break;
+
+    case XEMBED_MODALITY_ON:
+        TRACE( "win %p/%lx XEMBED_MODALITY_ON message\n", hwnd, event->window );
+        EnableWindow( hwnd, FALSE );
+        break;
+
+    case XEMBED_MODALITY_OFF:
+        TRACE( "win %p/%lx XEMBED_MODALITY_OFF message\n", hwnd, event->window );
+        EnableWindow( hwnd, TRUE );
+        break;
+
     default:
         TRACE( "win %p/%lx XEMBED message %lu(%lu)\n",
                hwnd, event->window, event->data.l[1], event->data.l[2] );
-- 
1.7.9.5


More information about the wine-patches mailing list