PTHREADINFO ClipboardThread;
PTHREADINFO ClipboardOwnerThread;
-PWINDOW_OBJECT ClipboardWindow;
-PWINDOW_OBJECT ClipboardViewerWindow;
-PWINDOW_OBJECT ClipboardOwnerWindow;
+PWND ClipboardWindow;
+PWND ClipboardViewerWindow;
+PWND ClipboardOwnerWindow;
BOOL sendDrawClipboardMsg;
BOOL recentlySetClipboard;
BOOL delayedRender;
/* return the pointer to the prev window of the finded window,
if NULL does not exists in the chain */
PCLIPBOARDCHAINELEMENT FASTCALL
-IntIsWindowInChain(PWINDOW_OBJECT window)
+IntIsWindowInChain(PWND window)
{
PCLIPBOARDCHAINELEMENT wce = WindowsChain;
PCLIPBOARDCHAINELEMENT wce2 = WindowsChain;
while (wce2)
{
- DPRINT1("chain: %p\n", wce2->window->hSelf);
+ DPRINT1("chain: %p\n", wce2->window->head.h);
wce2 = wce2->next;
}
}
/* the new window always have to be the first in the chain */
PCLIPBOARDCHAINELEMENT FASTCALL
-IntAddWindowToChain(PWINDOW_OBJECT window)
+IntAddWindowToChain(PWND window)
{
PCLIPBOARDCHAINELEMENT wce = NULL;
}
PCLIPBOARDCHAINELEMENT FASTCALL
-IntRemoveWindowFromChain(PWINDOW_OBJECT window)
+IntRemoveWindowFromChain(PWND window)
{
PCLIPBOARDCHAINELEMENT wce = WindowsChain;
PCLIPBOARDCHAINELEMENT *link = &WindowsChain;
/* IntClipboardFreeWindow it's called when a window was destroyed */
VOID FASTCALL
-IntClipboardFreeWindow(PWINDOW_OBJECT window)
+IntClipboardFreeWindow(PWND window)
{
/* called from co_UserFreeWindow in window.c */
/* check if clipboard is not locked by this window, if yes, unlock it */
NtUserOpenClipboard(HWND hWnd, DWORD Unknown1)
{
- PWINDOW_OBJECT Window;
+ PWND Window;
BOOL ret = FALSE;
UserEnterExclusive();
{
if (ClipboardOwnerWindow)
{
- if (ClipboardOwnerWindow->hSelf == hWnd)
+ if (ClipboardOwnerWindow->head.h == hWnd)
{
ret = TRUE;
}
if (ClipboardWindow)
{
- ret = ClipboardWindow->hSelf;
+ ret = ClipboardWindow->head.h;
}
UserLeave();
{
BOOL ret = FALSE;
PCLIPBOARDCHAINELEMENT w = NULL;
- PWINDOW_OBJECT removeWindow;
+ PWND removeWindow;
UserEnterExclusive();
removeWindow = UserGetWindowObject(hWndRemove);
// then they do the chain
/* WindowsChain->window may be NULL */
- LPARAM lparam = WindowsChain->window == NULL ? 0 : (LPARAM)WindowsChain->window->hSelf;
- DPRINT1("Message: WM_CHANGECBCHAIN to %p", WindowsChain->window->hSelf);
- co_IntSendMessage(WindowsChain->window->hSelf, WM_CHANGECBCHAIN, (WPARAM)hWndRemove, lparam);
+ LPARAM lparam = WindowsChain->window == NULL ? 0 : (LPARAM)WindowsChain->window->head.h;
+ DPRINT1("Message: WM_CHANGECBCHAIN to %p", WindowsChain->window->head.h);
+ co_IntSendMessage(WindowsChain->window->head.h, WM_CHANGECBCHAIN, (WPARAM)hWndRemove, lparam);
}
UserLeave();
if (ret && ClipboardOwnerWindow)
{
- DPRINT("Clipboard: WM_DESTROYCLIPBOARD to %p", ClipboardOwnerWindow->hSelf);
- co_IntSendMessage( ClipboardOwnerWindow->hSelf, WM_DESTROYCLIPBOARD, 0, 0);
+ DPRINT("Clipboard: WM_DESTROYCLIPBOARD to %p", ClipboardOwnerWindow->head.h);
+ co_IntSendMessage( ClipboardOwnerWindow->head.h, WM_DESTROYCLIPBOARD, 0, 0);
}
UserLeave();
/* tell owner what data needs to be rendered */
if (ClipboardOwnerWindow)
{
- ASSERT(ClipboardOwnerWindow->hSelf);
- co_IntSendMessage(ClipboardOwnerWindow->hSelf, WM_RENDERFORMAT, (WPARAM)uFormat, 0);
+ ASSERT(ClipboardOwnerWindow->head.h);
+ co_IntSendMessage(ClipboardOwnerWindow->head.h, WM_RENDERFORMAT, (WPARAM)uFormat, 0);
data = intIsFormatAvailable(uFormat);
ASSERT(data->size);
ret = (HANDLE)(ULONG_PTR)data->size;
if (ClipboardOwnerWindow)
{
- ret = ClipboardOwnerWindow->hSelf;
+ ret = ClipboardOwnerWindow->head.h;
}
UserLeave();
if (WindowsChain)
{
- ret = WindowsChain->window->hSelf;
+ ret = WindowsChain->window->head.h;
}
UserLeave();
{
HWND ret = NULL;
PCLIPBOARDCHAINELEMENT newWC = NULL;
- PWINDOW_OBJECT window;
+ PWND window;
UserEnterExclusive();
if (newWC->next)
{
// return the next HWND available window in the chain
- ret = newWC->next->window->hSelf;
+ ret = newWC->next->window->head.h;
}
}
}