[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