mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 09:50:07 +00:00
[WIN32K] Check if the window being destroyed is currently tracked. (#103)
* [WIN32K] Check if the window being destroyed is currently tracked. CORE-13619
This commit is contained in:
parent
1eea9304e1
commit
9e4d2f1f9e
|
@ -342,6 +342,26 @@ UserSendMouseInput(MOUSEINPUT *pmi, BOOL bInjected)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
IntRemoveTrackMouseEvent(
|
||||||
|
PDESKTOP pDesk)
|
||||||
|
{
|
||||||
|
/* Generate a leave message */
|
||||||
|
if (pDesk->dwDTFlags & DF_TME_LEAVE)
|
||||||
|
{
|
||||||
|
UINT uMsg = (pDesk->htEx != HTCLIENT) ? WM_NCMOUSELEAVE : WM_MOUSELEAVE;
|
||||||
|
UserPostMessage(UserHMGetHandle(pDesk->spwndTrack), uMsg, 0, 0);
|
||||||
|
}
|
||||||
|
/* Kill the timer */
|
||||||
|
if (pDesk->dwDTFlags & DF_TME_HOVER)
|
||||||
|
IntKillTimer(pDesk->spwndTrack, ID_EVENT_SYSTIMER_MOUSEHOVER, TRUE);
|
||||||
|
|
||||||
|
/* Reset state */
|
||||||
|
pDesk->dwDTFlags &= ~(DF_TME_LEAVE|DF_TME_HOVER);
|
||||||
|
pDesk->spwndTrack = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
FASTCALL
|
FASTCALL
|
||||||
IntQueryTrackMouseEvent(
|
IntQueryTrackMouseEvent(
|
||||||
|
|
|
@ -381,6 +381,12 @@ DWORD FASTCALL IntGetWindowContextHelpId( PWND pWnd )
|
||||||
return HelpId;
|
return HelpId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
IntRemoveTrackMouseEvent(
|
||||||
|
PDESKTOP pDesk);
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* IntSendDestroyMsg
|
* IntSendDestroyMsg
|
||||||
*/
|
*/
|
||||||
|
@ -422,6 +428,12 @@ static void IntSendDestroyMsg(HWND hWnd)
|
||||||
{
|
{
|
||||||
co_IntDestroyCaret(ti);
|
co_IntDestroyCaret(ti);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If the window being destroyed is currently tracked... */
|
||||||
|
if (ti->rpdesk->spwndTrack == Window)
|
||||||
|
{
|
||||||
|
IntRemoveTrackMouseEvent(ti->rpdesk);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the window being destroyed is the current clipboard owner... */
|
/* If the window being destroyed is the current clipboard owner... */
|
||||||
|
|
Loading…
Reference in a new issue