Implemented GetWindowTask16 on top of GetWindowThreadProcessId.
Removed no longer used hmemTaskQ field in WND structure.
This commit is contained in:
parent
1298eb4053
commit
d8bbcb2f23
|
@ -672,7 +672,6 @@ init UserClientDllInitialize
|
||||||
@ stdcall DestroyIcon32(long long) DestroyIcon32
|
@ stdcall DestroyIcon32(long long) DestroyIcon32
|
||||||
@ stdcall DialogBoxIndirectParam16(long long long long long) DialogBoxIndirectParam16
|
@ stdcall DialogBoxIndirectParam16(long long long long long) DialogBoxIndirectParam16
|
||||||
@ stdcall GetDriverModuleHandle16(long) GetDriverModuleHandle16
|
@ stdcall GetDriverModuleHandle16(long) GetDriverModuleHandle16
|
||||||
@ stdcall InitThreadInput16(long long) InitThreadInput16
|
|
||||||
@ stdcall OpenDriver16(str str long) OpenDriver16
|
@ stdcall OpenDriver16(str str long) OpenDriver16
|
||||||
@ stdcall PostAppMessage16(long long long long) PostAppMessage16
|
@ stdcall PostAppMessage16(long long long long) PostAppMessage16
|
||||||
@ stdcall SendDriverMessage16(long long long long) SendDriverMessage16
|
@ stdcall SendDriverMessage16(long long long long) SendDriverMessage16
|
||||||
|
|
|
@ -1026,6 +1026,16 @@ INT16 WINAPI DlgDirListComboBox16( HWND16 hDlg, LPSTR spec, INT16 idCBox,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* GetWindowTask (USER.224)
|
||||||
|
*/
|
||||||
|
HTASK16 WINAPI GetWindowTask16( HWND16 hwnd )
|
||||||
|
{
|
||||||
|
DWORD tid = GetWindowThreadProcessId( HWND_32(hwnd), NULL );
|
||||||
|
if (!tid) return 0;
|
||||||
|
return HTASK_16(tid);
|
||||||
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* EnumTaskWindows (USER.225)
|
* EnumTaskWindows (USER.225)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -70,7 +70,6 @@ static DWORD CALLBACK desktop_thread( LPVOID driver_data )
|
||||||
/* patch the desktop window queue to point to our queue */
|
/* patch the desktop window queue to point to our queue */
|
||||||
win = WIN_GetPtr( hwnd );
|
win = WIN_GetPtr( hwnd );
|
||||||
win->tid = GetCurrentThreadId();
|
win->tid = GetCurrentThreadId();
|
||||||
win->hmemTaskQ = InitThreadInput16( 0, 0 );
|
|
||||||
X11DRV_register_window( display, hwnd, win->pDriverData );
|
X11DRV_register_window( display, hwnd, win->pDriverData );
|
||||||
WIN_ReleasePtr( win );
|
WIN_ReleasePtr( win );
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ struct received_message_info;
|
||||||
typedef struct tagMESSAGEQUEUE
|
typedef struct tagMESSAGEQUEUE
|
||||||
{
|
{
|
||||||
HQUEUE16 self; /* Handle to self (was: reserved) */
|
HQUEUE16 self; /* Handle to self (was: reserved) */
|
||||||
TEB* teb; /* Thread owning queue */
|
|
||||||
HANDLE server_queue; /* Handle to server-side queue */
|
HANDLE server_queue; /* Handle to server-side queue */
|
||||||
DWORD recursion_count; /* Counter to prevent infinite SendMessage recursion */
|
DWORD recursion_count; /* Counter to prevent infinite SendMessage recursion */
|
||||||
struct received_message_info *receive_info; /* Info about message being currently received */
|
struct received_message_info *receive_info; /* Info about message being currently received */
|
||||||
|
|
|
@ -52,7 +52,6 @@ typedef struct tagWND
|
||||||
void *pVScroll; /* Vertical scroll-bar info */
|
void *pVScroll; /* Vertical scroll-bar info */
|
||||||
void *pHScroll; /* Horizontal scroll-bar info */
|
void *pHScroll; /* Horizontal scroll-bar info */
|
||||||
struct tagDCE *dce; /* Window DCE (if CS_OWNDC or CS_CLASSDC) */
|
struct tagDCE *dce; /* Window DCE (if CS_OWNDC or CS_CLASSDC) */
|
||||||
HGLOBAL16 hmemTaskQ; /* Task queue global memory handle */
|
|
||||||
HRGN hrgnUpdate; /* Update region */
|
HRGN hrgnUpdate; /* Update region */
|
||||||
HRGN hrgnWnd; /* window's region */
|
HRGN hrgnWnd; /* window's region */
|
||||||
DWORD dwStyle; /* Window style (from CreateWindow) */
|
DWORD dwStyle; /* Window style (from CreateWindow) */
|
||||||
|
|
|
@ -191,28 +191,6 @@ void QUEUE_DeleteMsgQueue(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* GetWindowTask (USER.224)
|
|
||||||
*/
|
|
||||||
HTASK16 WINAPI GetWindowTask16( HWND16 hwnd )
|
|
||||||
{
|
|
||||||
HTASK16 retvalue;
|
|
||||||
MESSAGEQUEUE *queue;
|
|
||||||
|
|
||||||
WND *wndPtr = WIN_FindWndPtr16( hwnd );
|
|
||||||
if (!wndPtr) return 0;
|
|
||||||
|
|
||||||
queue = QUEUE_Lock( wndPtr->hmemTaskQ );
|
|
||||||
WIN_ReleaseWndPtr(wndPtr);
|
|
||||||
|
|
||||||
if (!queue) return 0;
|
|
||||||
|
|
||||||
retvalue = queue->teb->htask16;
|
|
||||||
QUEUE_Unlock( queue );
|
|
||||||
|
|
||||||
return retvalue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* InitThreadInput (USER.409)
|
* InitThreadInput (USER.409)
|
||||||
*/
|
*/
|
||||||
|
@ -232,7 +210,6 @@ HQUEUE16 WINAPI InitThreadInput16( WORD unknown, WORD flags )
|
||||||
|
|
||||||
/* Link new queue into list */
|
/* Link new queue into list */
|
||||||
queuePtr = QUEUE_Lock( hQueue );
|
queuePtr = QUEUE_Lock( hQueue );
|
||||||
queuePtr->teb = NtCurrentTeb();
|
|
||||||
|
|
||||||
HeapLock( GetProcessHeap() ); /* FIXME: a bit overkill */
|
HeapLock( GetProcessHeap() ); /* FIXME: a bit overkill */
|
||||||
SetThreadQueue16( 0, hQueue );
|
SetThreadQueue16( 0, hQueue );
|
||||||
|
|
|
@ -684,7 +684,6 @@ LRESULT WIN_DestroyWindow( HWND hwnd )
|
||||||
TIMER_RemoveWindowTimers( hwnd );
|
TIMER_RemoveWindowTimers( hwnd );
|
||||||
|
|
||||||
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return 0;
|
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return 0;
|
||||||
wndPtr->hmemTaskQ = 0;
|
|
||||||
|
|
||||||
if (!(wndPtr->dwStyle & WS_CHILD))
|
if (!(wndPtr->dwStyle & WS_CHILD))
|
||||||
{
|
{
|
||||||
|
@ -761,7 +760,6 @@ BOOL WIN_CreateDesktopWindow(void)
|
||||||
pWndDesktop->owner = 0;
|
pWndDesktop->owner = 0;
|
||||||
pWndDesktop->class = class;
|
pWndDesktop->class = class;
|
||||||
pWndDesktop->text = NULL;
|
pWndDesktop->text = NULL;
|
||||||
pWndDesktop->hmemTaskQ = 0;
|
|
||||||
pWndDesktop->hrgnUpdate = 0;
|
pWndDesktop->hrgnUpdate = 0;
|
||||||
pWndDesktop->clsStyle = clsStyle;
|
pWndDesktop->clsStyle = clsStyle;
|
||||||
pWndDesktop->dce = NULL;
|
pWndDesktop->dce = NULL;
|
||||||
|
@ -1100,7 +1098,6 @@ static HWND WIN_CreateWindowEx( CREATESTRUCTA *cs, ATOM classAtom,
|
||||||
wndPtr->winproc = winproc;
|
wndPtr->winproc = winproc;
|
||||||
wndPtr->hInstance = cs->hInstance;
|
wndPtr->hInstance = cs->hInstance;
|
||||||
wndPtr->text = NULL;
|
wndPtr->text = NULL;
|
||||||
wndPtr->hmemTaskQ = InitThreadInput16( 0, 0 );
|
|
||||||
wndPtr->hrgnUpdate = 0;
|
wndPtr->hrgnUpdate = 0;
|
||||||
wndPtr->hrgnWnd = 0;
|
wndPtr->hrgnWnd = 0;
|
||||||
wndPtr->dwStyle = cs->style & ~WS_VISIBLE;
|
wndPtr->dwStyle = cs->style & ~WS_VISIBLE;
|
||||||
|
|
Loading…
Reference in New Issue