From 57264c6ac9963aaabb11f4fb8d8d5fe691a2c2f1 Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Sun, 23 Nov 2003 12:04:54 +0000 Subject: [PATCH] some fixes in NtUserGetGUIThreadInfo() svn path=/trunk/; revision=6758 --- reactos/subsys/win32k/include/msgqueue.h | 6 ++++++ reactos/subsys/win32k/ntuser/misc.c | 14 +++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/reactos/subsys/win32k/include/msgqueue.h b/reactos/subsys/win32k/include/msgqueue.h index 1c64b8b0017..424b1a96605 100644 --- a/reactos/subsys/win32k/include/msgqueue.h +++ b/reactos/subsys/win32k/include/msgqueue.h @@ -65,6 +65,12 @@ typedef struct _USER_MESSAGE_QUEUE HWND ActiveWindow; /* Current capture window for this queue. */ HWND CaptureWindow; + /* Current move/size window for this queue */ + HWND MoveSize; + /* Current menu owner window for this queue */ + HWND MenuOwner; + /* Identifes the menu state */ + BYTE MenuState; /* queue state tracking */ WORD WakeBits; diff --git a/reactos/subsys/win32k/ntuser/misc.c b/reactos/subsys/win32k/ntuser/misc.c index 36ae0b04b7a..ac92a41f275 100644 --- a/reactos/subsys/win32k/ntuser/misc.c +++ b/reactos/subsys/win32k/ntuser/misc.c @@ -1,4 +1,4 @@ -/* $Id: misc.c,v 1.28 2003/11/23 11:39:48 navaraf Exp $ +/* $Id: misc.c,v 1.29 2003/11/23 12:04:54 weiden Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -515,14 +515,18 @@ NtUserGetGUIThreadInfo( MsgQueue = (PUSER_MESSAGE_QUEUE)Desktop->ActiveMessageQueue; SafeGui.flags = (CaretInfo->Visible ? GUI_CARETBLINKING : 0); - /* FIXME add flags GUI_16BITTASK, GUI_INMENUMODE, GUI_INMOVESIZE, - GUI_POPUPMENUMODE, GUI_SYSTEMMENUMODE */ + if(MsgQueue->MenuOwner) + SafeGui.flags |= GUI_INMENUMODE | MsgQueue->MenuState; + if(MsgQueue->MoveSize) + SafeGui.flags |= GUI_INMOVESIZE; + + /* FIXME add flag GUI_16BITTASK */ SafeGui.hwndActive = MsgQueue->ActiveWindow; SafeGui.hwndFocus = MsgQueue->FocusWindow; SafeGui.hwndCapture = MsgQueue->CaptureWindow; - SafeGui.hwndMenuOwner = 0; /* FIXME */ - SafeGui.hwndMoveSize = 0; /* FIXME */ + SafeGui.hwndMenuOwner = MsgQueue->MenuOwner; + SafeGui.hwndMoveSize = MsgQueue->MoveSize; SafeGui.hwndCaret = CaretInfo->hWnd; SafeGui.rcCaret.left = CaretInfo->Pos.x;