mirror of
https://github.com/reactos/reactos.git
synced 2025-05-29 05:58:13 +00:00
[NTUSER] Check IME-like after WNDS_DESTROYED check (#5005)
The guilty commit a2c6af0
enabled the IMM mode. So we have to take care of the default IME windows.
Using IS_WND_IMELIKE against WNDS_DESTROYED window was the cause of BSoD. CORE-18777
This commit is contained in:
parent
1321c802fc
commit
d992c07239
1 changed files with 4 additions and 3 deletions
|
@ -2953,7 +2953,7 @@ BOOLEAN co_UserDestroyWindow(PVOID Object)
|
|||
* Check if this window is the Shell's Desktop Window. If so set hShellWindow to NULL
|
||||
*/
|
||||
|
||||
if ((ti != NULL) && (ti->pDeskInfo != NULL))
|
||||
if (ti->pDeskInfo != NULL)
|
||||
{
|
||||
if (ti->pDeskInfo->hShellWindow == hWnd)
|
||||
{
|
||||
|
@ -2987,9 +2987,10 @@ BOOLEAN co_UserDestroyWindow(PVOID Object)
|
|||
/* Send destroy messages */
|
||||
IntSendDestroyMsg(UserHMGetHandle(Window));
|
||||
|
||||
// Destroy the default IME window if necessary
|
||||
/* Destroy the default IME window if necessary */
|
||||
if (IS_IMM_MODE() && !(ti->TIF_flags & TIF_INCLEANUP) &&
|
||||
ti->spwndDefaultIme && !IS_WND_IMELIKE(Window) && !(Window->state & WNDS_DESTROYED))
|
||||
ti->spwndDefaultIme && (ti->spwndDefaultIme != Window) &&
|
||||
!(Window->state & WNDS_DESTROYED) && !IS_WND_IMELIKE(Window))
|
||||
{
|
||||
if (IS_WND_CHILD(Window))
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue