Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
66ffa17b
Commit
66ffa17b
authored
Apr 04, 2001
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Don't use THREAD_IdToTEB in EnumThreadWindows.
parent
e21ead40
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
10 deletions
+22
-10
win.c
windows/win.c
+22
-10
No files found.
windows/win.c
View file @
66ffa17b
...
@@ -21,7 +21,6 @@
...
@@ -21,7 +21,6 @@
#include "message.h"
#include "message.h"
#include "queue.h"
#include "queue.h"
#include "winpos.h"
#include "winpos.h"
#include "thread.h"
#include "winerror.h"
#include "winerror.h"
#include "stackframe.h"
#include "stackframe.h"
#include "debugtools.h"
#include "debugtools.h"
...
@@ -2882,10 +2881,11 @@ BOOL WINAPI EnumWindows( WNDENUMPROC lpEnumFunc, LPARAM lParam )
...
@@ -2882,10 +2881,11 @@ BOOL WINAPI EnumWindows( WNDENUMPROC lpEnumFunc, LPARAM lParam )
/**********************************************************************
/**********************************************************************
* EnumTaskWindows (USER.225)
* WIN_EnumQueueWindows
*
* Helper for EnumTaskWindows16 and EnumThreadWindows.
*/
*/
BOOL16
WINAPI
EnumTaskWindows16
(
HTASK16
hTask
,
WNDENUMPROC16
func
,
static
BOOL
WIN_EnumQueueWindows
(
HQUEUE16
queue
,
WNDENUMPROC
func
,
LPARAM
lParam
)
LPARAM
lParam
)
{
{
WND
**
list
,
**
ppWnd
;
WND
**
list
,
**
ppWnd
;
...
@@ -2906,15 +2906,15 @@ BOOL16 WINAPI EnumTaskWindows16( HTASK16 hTask, WNDENUMPROC16 func,
...
@@ -2906,15 +2906,15 @@ BOOL16 WINAPI EnumTaskWindows16( HTASK16 hTask, WNDENUMPROC16 func,
int
iWndsLocks
=
0
;
int
iWndsLocks
=
0
;
/* Make sure that the window still exists */
/* Make sure that the window still exists */
if
(
!
IsWindow
((
*
ppWnd
)
->
hwndSelf
))
continue
;
if
(
!
IsWindow
((
*
ppWnd
)
->
hwndSelf
))
continue
;
if
(
QUEUE_GetQueueTask
((
*
ppWnd
)
->
hmemTaskQ
)
!=
hTask
)
continue
;
if
(
(
*
ppWnd
)
->
hmemTaskQ
!=
queue
)
continue
;
/* To avoid any deadlocks, all the locks on the windows
/* To avoid any deadlocks, all the locks on the windows
structures must be suspended before the control
structures must be suspended before the control
is passed to the application */
is passed to the application */
iWndsLocks
=
WIN_SuspendWndsLock
();
iWndsLocks
=
WIN_SuspendWndsLock
();
funcRetval
=
func
(
(
*
ppWnd
)
->
hwndSelf
,
lParam
);
funcRetval
=
func
(
(
*
ppWnd
)
->
hwndSelf
,
lParam
);
WIN_RestoreWndsLock
(
iWndsLocks
);
WIN_RestoreWndsLock
(
iWndsLocks
);
if
(
!
funcRetval
)
break
;
if
(
!
funcRetval
)
break
;
}
}
WIN_ReleaseWinArray
(
list
);
WIN_ReleaseWinArray
(
list
);
...
@@ -2924,13 +2924,25 @@ BOOL16 WINAPI EnumTaskWindows16( HTASK16 hTask, WNDENUMPROC16 func,
...
@@ -2924,13 +2924,25 @@ BOOL16 WINAPI EnumTaskWindows16( HTASK16 hTask, WNDENUMPROC16 func,
/**********************************************************************
/**********************************************************************
* EnumTaskWindows16 (USER.225)
*/
BOOL16
WINAPI
EnumTaskWindows16
(
HTASK16
hTask
,
WNDENUMPROC16
func
,
LPARAM
lParam
)
{
HQUEUE16
queue
=
GetTaskQueue16
(
hTask
);
if
(
!
queue
)
return
FALSE
;
return
WIN_EnumQueueWindows
(
queue
,
(
WNDENUMPROC
)
func
,
lParam
);
}
/**********************************************************************
* EnumThreadWindows (USER32.@)
* EnumThreadWindows (USER32.@)
*/
*/
BOOL
WINAPI
EnumThreadWindows
(
DWORD
id
,
WNDENUMPROC
func
,
LPARAM
lParam
)
BOOL
WINAPI
EnumThreadWindows
(
DWORD
id
,
WNDENUMPROC
func
,
LPARAM
lParam
)
{
{
TEB
*
teb
=
THREAD_IdToTEB
(
id
);
HQUEUE16
queue
=
GetThreadQueue16
(
id
);
if
(
!
queue
)
return
FALSE
;
return
(
BOOL16
)
EnumTaskWindows16
(
teb
->
htask16
,
(
WNDENUMPROC16
)
func
,
lParam
);
return
WIN_EnumQueueWindows
(
queue
,
func
,
lParam
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment