{
/* Call GDI to set the new screen cursor */
#ifdef NEW_CURSORICON
+ PCURICON_OBJECT CursorFrame = NewCursor;
+ if(NewCursor->CURSORF_flags & CURSORF_ACON)
+ {
+ FIXME("Should animate the cursor, using only the first frame now.\n");
+ CursorFrame = ((PACON)NewCursor)->aspcur[0];
+ }
GreSetPointerShape(hdcScreen,
- NewCursor->hbmAlpha ? NULL : NewCursor->hbmMask,
- NewCursor->hbmAlpha ? NewCursor->hbmAlpha : NewCursor->hbmColor,
- NewCursor->xHotspot,
- NewCursor->yHotspot,
+ CursorFrame->hbmAlpha ? NULL : NewCursor->hbmMask,
+ CursorFrame->hbmAlpha ? NewCursor->hbmAlpha : NewCursor->hbmColor,
+ CursorFrame->xHotspot,
+ CursorFrame->yHotspot,
gpsi->ptCursor.x,
gpsi->ptCursor.y,
- NewCursor->hbmAlpha ? SPS_ALPHA : 0);
+ CursorFrame->hbmAlpha ? SPS_ALPHA : 0);
#else
GreSetPointerShape(hdcScreen,
NewCursor->IconInfo.hbmMask,
{
pti = pwnd->head.pti;
MessageQueue = pti->MessageQueue;
+ // MessageQueue->ptiMouse = pti;
if ( pti->TIF_flags & TIF_INCLEANUP || MessageQueue->QF_flags & QF_INDESTROY)
{
USHORT hittest;
EVENTMSG event;
MOUSEHOOKSTRUCT hook;
- BOOL eatMsg;
+ BOOL eatMsg = FALSE;
PWND pwndMsg, pwndDesktop;
PUSER_MESSAGE_QUEUE MessageQueue;
if (pwndMsg) UserReferenceObject(pwndMsg);
}
else
- { // Fix wine Msg test_HTTRANSPARENT. Start with a NULL window.
- // http://www.winehq.org/pipermail/wine-patches/2012-August/116776.html
- pwndMsg = co_WinPosWindowFromPoint(NULL, &msg->pt, &hittest);
+ {
+ pwndMsg = co_WinPosWindowFromPoint(NULL, &msg->pt, &hittest, FALSE);//TRUE);
}
TRACE("Got mouse message for %p, hittest: 0x%x\n", msg->hwnd, hittest);
msg->hwnd = UserHMGetHandle(pwndMsg);
-#if 0
- if (!check_hwnd_filter( msg, hwnd_filter )) RETURN(FALSE);
-#endif
-
pt = msg->pt;
message = msg->message;
/* Note: windows has no concept of a non-client wheel message */
RETURN(TRUE);
}
- eatMsg = FALSE;
-
if ((msg->message == WM_LBUTTONDOWN) ||
(msg->message == WM_RBUTTONDOWN) ||
(msg->message == WM_MBUTTONDOWN) ||
if (IsListEmpty(CurrentEntry)) break;
if (!CurrentMessage) break;
CurrentEntry = CurrentMessage->ListEntry.Flink;
+ if (!CurrentEntry) break; //// Fix CORE-6734 reported crash.
/*
MSDN:
1: any window that belongs to the current thread, and any messages on the current thread's message queue whose hwnd value is NULL.
break;
}
}
- CurrentMessage = CONTAINING_RECORD(CurrentEntry, USER_MESSAGE,
- ListEntry);
+ CurrentMessage = CONTAINING_RECORD(CurrentEntry, USER_MESSAGE, ListEntry);
}
while(CurrentEntry != ListHead);