*pWnd = ClientInfo->CallbackWnd.pWnd;
*pActCtx = ClientInfo->CallbackWnd.pActCtx;
- ClientInfo->CallbackWnd.hWnd = hWndS;
- ClientInfo->CallbackWnd.pWnd = DesktopHeapAddressToUser(Window);
- ClientInfo->CallbackWnd.pActCtx = Window->pActCtx;
+ if (Window)
+ {
+ ClientInfo->CallbackWnd.hWnd = hWndS;
+ ClientInfo->CallbackWnd.pWnd = DesktopHeapAddressToUser(Window);
+ ClientInfo->CallbackWnd.pActCtx = Window->pActCtx;
+ }
+ else //// What if Dispatching WM_SYS/TIMER with NULL window? Fix AbiWord Crash when sizing.
+ {
+ ClientInfo->CallbackWnd.hWnd = hWndS;
+ ClientInfo->CallbackWnd.pWnd = Window;
+ ClientInfo->CallbackWnd.pActCtx = 0;
+ }
}
static VOID
case WM_NCCREATE:
case WM_STYLECHANGING:
case WM_WINDOWPOSCHANGING:
+ case WM_SIZING:
+ case WM_MOVING:
TRACE("Copy lParam, Message %d Size %d lParam %d!\n", Message, lParamBufferSize, lParam);
if (InSendMessage)
// Copy into kernel space.
}
break;
case HCBT_MOVESIZE:
- if (Common->lParam && lParam)
+ if (Extra && lParam)
{
- RtlCopyMemory((PVOID) lParam, (PVOID) Common->lParam, sizeof(RECTL));
+ RtlCopyMemory((PVOID) lParam, Extra, sizeof(RECTL));
}
break;
}
if (pMenuName->Length)
RtlCopyMemory(&Common->MenuName, pMenuName->Buffer, pMenuName->Length);
else
- RtlCopyMemory(&Common->MenuName, &pMenuName->Buffer, sizeof(WCHAR));
+ Common->InterSource = pMenuName->Buffer;
ResultPointer = NULL;
ResultLength = sizeof(LRESULT);