https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b09487fb449f510eb0c51f...
commit b09487fb449f510eb0c51f1858c143acc1edaf1f Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Sat Dec 1 20:59:07 2018 +0900 Commit: GitHub noreply@github.com CommitDate: Sat Dec 1 20:59:07 2018 +0900
[WIN32SS] Add IntGoGhost function (stub) (#1081)
CORE-11944 --- win32ss/CMakeLists.txt | 1 + win32ss/user/ntuser/ghost.c | 18 ++++++++++++++++++ win32ss/user/ntuser/ghost.h | 1 + win32ss/user/ntuser/message.c | 14 ++++++++++---- win32ss/win32kp.h | 1 + 5 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/win32ss/CMakeLists.txt b/win32ss/CMakeLists.txt index edb253bb5a..ced54039fc 100644 --- a/win32ss/CMakeLists.txt +++ b/win32ss/CMakeLists.txt @@ -118,6 +118,7 @@ list(APPEND SOURCE user/ntuser/draw.c user/ntuser/event.c user/ntuser/focus.c + user/ntuser/ghost.c user/ntuser/guicheck.c user/ntuser/hook.c user/ntuser/hotkey.c diff --git a/win32ss/user/ntuser/ghost.c b/win32ss/user/ntuser/ghost.c new file mode 100644 index 0000000000..f7a2235c0a --- /dev/null +++ b/win32ss/user/ntuser/ghost.c @@ -0,0 +1,18 @@ +/* + * PROJECT: ReactOS user32.dll + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Ghost window handling + * COPYRIGHT: Copyright 2018 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com) + */ + +#include <win32k.h> + +BOOL FASTCALL IntGoGhost(PWND Window, BOOL bGo) +{ + // TODO: + // 1. Create a thread. + // 2. Create a ghost window in the thread. + // 3. Do message loop in the thread + STUB; + return FALSE; +} diff --git a/win32ss/user/ntuser/ghost.h b/win32ss/user/ntuser/ghost.h new file mode 100644 index 0000000000..c348bf1417 --- /dev/null +++ b/win32ss/user/ntuser/ghost.h @@ -0,0 +1 @@ +BOOL FASTCALL IntGoGhost(PWND Window, BOOL bGo); diff --git a/win32ss/user/ntuser/message.c b/win32ss/user/ntuser/message.c index 3f7bcfb03b..0de5f3f260 100644 --- a/win32ss/user/ntuser/message.c +++ b/win32ss/user/ntuser/message.c @@ -1433,11 +1433,17 @@ co_IntSendMessageTimeoutSingle( HWND hWnd, RETURN( TRUE); }
- if (uFlags & SMTO_ABORTIFHUNG && MsqIsHung(ptiSendTo)) + if (MsqIsHung(ptiSendTo)) { - // FIXME: Set window hung and add to a list. - /* FIXME: Set a LastError? */ - RETURN( FALSE); + if (uFlags & SMTO_ABORTIFHUNG) + { + // FIXME: Set window hung and add to a list. + /* FIXME: Set a LastError? */ + RETURN( FALSE); + } + + TRACE("Let's go Ghost!\n"); + IntGoGhost(Window, TRUE); }
if (Window->state & WNDS_DESTROYED) diff --git a/win32ss/win32kp.h b/win32ss/win32kp.h index 386db09cda..1bdcf38edd 100644 --- a/win32ss/win32kp.h +++ b/win32ss/win32kp.h @@ -99,6 +99,7 @@ typedef struct _DC *PDC; #include "user/ntuser/winpos.h" #include "user/ntuser/callback.h" #include "user/ntuser/mmcopy.h" +#include "user/ntuser/ghost.h"
/* CSRSS Interface */ #include "user/ntuser/csr.h"