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
86860cc9
Commit
86860cc9
authored
Apr 02, 2010
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shlwapi: Fix SHCreateWorkerWindowA for 64-bit.
parent
3ded06b2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
16 deletions
+16
-16
ordinal.c
dlls/shlwapi/ordinal.c
+6
-6
ordinal.c
dlls/shlwapi/tests/ordinal.c
+10
-10
No files found.
dlls/shlwapi/ordinal.c
View file @
86860cc9
...
...
@@ -2595,27 +2595,27 @@ HRESULT WINAPI IUnknown_GetSite(LPUNKNOWN lpUnknown, REFIID iid, PVOID *lppSite)
* dwExStyle [I] Extra style flags
* dwStyle [I] Style flags
* hMenu [I] Window menu
*
msg_result [I] New DWLP_MSGRESULT
value
*
wnd_extra [I] Window extra bytes
value
*
* RETURNS
* Success: The window handle of the newly created window.
* Failure: 0.
*/
HWND
WINAPI
SHCreateWorkerWindowA
(
LONG
wndProc
,
HWND
hWndParent
,
DWORD
dwExStyle
,
DWORD
dwStyle
,
HMENU
hMenu
,
LONG
msg_result
)
DWORD
dwStyle
,
HMENU
hMenu
,
LONG_PTR
wnd_extra
)
{
static
const
char
szClass
[]
=
"WorkerA"
;
WNDCLASSA
wc
;
HWND
hWnd
;
TRACE
(
"(0x%08x, %p, 0x%08x, 0x%08x, %p, 0x%08x)
\n
"
,
wndProc
,
hWndParent
,
dwExStyle
,
dwStyle
,
hMenu
,
msg_result
);
TRACE
(
"(0x%08x, %p, 0x%08x, 0x%08x, %p, 0x%08
l
x)
\n
"
,
wndProc
,
hWndParent
,
dwExStyle
,
dwStyle
,
hMenu
,
wnd_extra
);
/* Create Window class */
wc
.
style
=
0
;
wc
.
lpfnWndProc
=
DefWindowProcA
;
wc
.
cbClsExtra
=
0
;
wc
.
cbWndExtra
=
4
;
wc
.
cbWndExtra
=
sizeof
(
LONG_PTR
)
;
wc
.
hInstance
=
shlwapi_hInstance
;
wc
.
hIcon
=
NULL
;
wc
.
hCursor
=
LoadCursorA
(
NULL
,
(
LPSTR
)
IDC_ARROW
);
...
...
@@ -2629,7 +2629,7 @@ HWND WINAPI SHCreateWorkerWindowA(LONG wndProc, HWND hWndParent, DWORD dwExStyle
hWndParent
,
hMenu
,
shlwapi_hInstance
,
0
);
if
(
hWnd
)
{
SetWindowLongPtrW
(
hWnd
,
DWLP_MSGRESULT
,
msg_result
);
SetWindowLongPtrW
(
hWnd
,
0
,
wnd_extra
);
if
(
wndProc
)
SetWindowLongPtrA
(
hWnd
,
GWLP_WNDPROC
,
wndProc
);
}
...
...
dlls/shlwapi/tests/ordinal.c
View file @
86860cc9
...
...
@@ -55,7 +55,7 @@ static DWORD (WINAPI *pSHGetObjectCompatFlags)(IUnknown*, const CLSID*);
static
BOOL
(
WINAPI
*
pGUIDFromStringA
)(
LPSTR
,
CLSID
*
);
static
HRESULT
(
WINAPI
*
pIUnknown_QueryServiceExec
)(
IUnknown
*
,
REFIID
,
const
GUID
*
,
DWORD
,
DWORD
,
VARIANT
*
,
VARIANT
*
);
static
HRESULT
(
WINAPI
*
pIUnknown_ProfferService
)(
IUnknown
*
,
REFGUID
,
IServiceProvider
*
,
DWORD
*
);
static
HWND
(
WINAPI
*
pSHCreateWorkerWindowA
)(
LONG
,
HWND
,
DWORD
,
DWORD
,
HMENU
,
LONG
);
static
HWND
(
WINAPI
*
pSHCreateWorkerWindowA
)(
LONG
,
HWND
,
DWORD
,
DWORD
,
HMENU
,
LONG_PTR
);
static
HMODULE
hmlang
;
static
HRESULT
(
WINAPI
*
pLcidToRfc1766A
)(
LCID
,
LPSTR
,
INT
);
...
...
@@ -2318,7 +2318,7 @@ static void test_SHCreateWorkerWindowA(void)
WNDCLASSA
cliA
;
char
classA
[
20
];
HWND
hwnd
;
LONG
ret
;
LONG
_PTR
ret
;
BOOL
res
;
if
(
is_win2k_and_lower
)
...
...
@@ -2333,8 +2333,8 @@ static void test_SHCreateWorkerWindowA(void)
GetClassName
(
hwnd
,
classA
,
20
);
ok
(
lstrcmpA
(
classA
,
"WorkerA"
)
==
0
,
"expected WorkerA class, got %s
\n
"
,
classA
);
ret
=
GetWindowLong
A
(
hwnd
,
DWLP_MSGRESULT
);
ok
(
ret
==
0
,
"got %d
\n
"
,
ret
);
ret
=
GetWindowLong
PtrA
(
hwnd
,
0
);
ok
(
ret
==
0
,
"got %
l
d
\n
"
,
ret
);
/* class info */
memset
(
&
cliA
,
0
,
sizeof
(
cliA
));
...
...
@@ -2342,30 +2342,30 @@ static void test_SHCreateWorkerWindowA(void)
ok
(
res
,
"failed to get class info
\n
"
);
ok
(
cliA
.
style
==
0
,
"got 0x%08x
\n
"
,
cliA
.
style
);
ok
(
cliA
.
cbClsExtra
==
0
,
"got %d
\n
"
,
cliA
.
cbClsExtra
);
ok
(
cliA
.
cbWndExtra
==
4
,
"got %d
\n
"
,
cliA
.
cbWndExtra
);
ok
(
cliA
.
cbWndExtra
==
sizeof
(
LONG_PTR
)
,
"got %d
\n
"
,
cliA
.
cbWndExtra
);
ok
(
cliA
.
lpszMenuName
==
0
,
"got %s
\n
"
,
cliA
.
lpszMenuName
);
DestroyWindow
(
hwnd
);
/* set
DWLP_MSGRESULT
*/
/* set
extra bytes
*/
hwnd
=
pSHCreateWorkerWindowA
(
0
,
NULL
,
0
,
0
,
0
,
0xdeadbeef
);
ok
(
hwnd
!=
0
,
"expected window
\n
"
);
GetClassName
(
hwnd
,
classA
,
20
);
ok
(
lstrcmpA
(
classA
,
"WorkerA"
)
==
0
,
"expected WorkerA class, got %s
\n
"
,
classA
);
ret
=
GetWindowLong
A
(
hwnd
,
DWLP_MSGRESULT
);
ok
(
ret
==
0xdeadbeef
,
"got %d
\n
"
,
ret
);
ret
=
GetWindowLong
PtrA
(
hwnd
,
0
);
ok
(
ret
==
0xdeadbeef
,
"got %
l
d
\n
"
,
ret
);
/* test exstyle */
ret
=
GetWindowLongA
(
hwnd
,
GWL_EXSTYLE
);
ok
(
ret
==
WS_EX_WINDOWEDGE
,
"0x%08x
\n
"
,
ret
);
ok
(
ret
==
WS_EX_WINDOWEDGE
,
"0x%08
l
x
\n
"
,
ret
);
DestroyWindow
(
hwnd
);
hwnd
=
pSHCreateWorkerWindowA
(
0
,
NULL
,
WS_EX_TOOLWINDOW
,
0
,
0
,
0
);
ret
=
GetWindowLongA
(
hwnd
,
GWL_EXSTYLE
);
ok
(
ret
==
(
WS_EX_WINDOWEDGE
|
WS_EX_TOOLWINDOW
),
"0x%08x
\n
"
,
ret
);
ok
(
ret
==
(
WS_EX_WINDOWEDGE
|
WS_EX_TOOLWINDOW
),
"0x%08
l
x
\n
"
,
ret
);
DestroyWindow
(
hwnd
);
}
...
...
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