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
d926939b
Commit
d926939b
authored
May 27, 2010
by
Nikolay Sivov
Committed by
Alexandre Julliard
May 27, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comctl32: Export subclass calls by names too.
parent
645f7c62
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
37 additions
and
12 deletions
+37
-12
comctl32.spec
dlls/comctl32/comctl32.spec
+4
-4
subclass.c
dlls/comctl32/tests/subclass.c
+33
-8
No files found.
dlls/comctl32/comctl32.spec
View file @
d926939b
...
@@ -101,10 +101,10 @@
...
@@ -101,10 +101,10 @@
402 stdcall -noname FindMRUStringW(long wstr ptr)
402 stdcall -noname FindMRUStringW(long wstr ptr)
403 stdcall -noname EnumMRUListW(long long ptr long)
403 stdcall -noname EnumMRUListW(long long ptr long)
404 stdcall -noname CreateMRUListLazyW(ptr long long long)
404 stdcall -noname CreateMRUListLazyW(ptr long long long)
410 stdcall -
noname
SetWindowSubclass(long ptr long long)
410 stdcall -
ordinal
SetWindowSubclass(long ptr long long)
411 stdcall -
noname
GetWindowSubclass(long ptr long ptr)
411 stdcall -
ordinal
GetWindowSubclass(long ptr long ptr)
412 stdcall -
noname
RemoveWindowSubclass(long ptr long)
412 stdcall -
ordinal
RemoveWindowSubclass(long ptr long)
413 stdcall -
noname
DefSubclassProc(long long long long)
413 stdcall -
ordinal
DefSubclassProc(long long long long)
414 stdcall -noname MirrorIcon(ptr ptr)
414 stdcall -noname MirrorIcon(ptr ptr)
415 stdcall -noname DrawTextWrap(long wstr long ptr long) user32.DrawTextW
415 stdcall -noname DrawTextWrap(long wstr long ptr long) user32.DrawTextW
416 stdcall -noname DrawTextExPrivWrap(long wstr long ptr long ptr) user32.DrawTextExW
416 stdcall -noname DrawTextExPrivWrap(long wstr long ptr long ptr) user32.DrawTextExW
...
...
dlls/comctl32/tests/subclass.c
View file @
d926939b
...
@@ -279,25 +279,50 @@ static BOOL RegisterWindowClasses(void)
...
@@ -279,25 +279,50 @@ static BOOL RegisterWindowClasses(void)
return
TRUE
;
return
TRUE
;
}
}
START_TEST
(
subclass
)
static
int
init_function_pointers
(
void
)
{
{
HMODULE
hdll
;
HMODULE
hmod
;
void
*
ptr
;
hmod
=
GetModuleHandleA
(
"comctl32.dll"
);
assert
(
hmod
);
hdll
=
GetModuleHandleA
(
"comctl32.dll"
);
assert
(
hdll
);
/* Functions have to be loaded by ordinal. Only XP and W2K3 export
/* Functions have to be loaded by ordinal. Only XP and W2K3 export
* them by name.
* them by name.
*/
*/
pSetWindowSubclass
=
(
void
*
)
GetProcAddress
(
hdll
,
(
LPSTR
)
410
);
#define MAKEFUNC_ORD(f, ord) (p##f = (void*)GetProcAddress(hmod, (LPSTR)(ord)))
pRemoveWindowSubclass
=
(
void
*
)
GetProcAddress
(
hdll
,
(
LPSTR
)
412
);
MAKEFUNC_ORD
(
SetWindowSubclass
,
410
);
pDefSubclassProc
=
(
void
*
)
GetProcAddress
(
hdll
,
(
LPSTR
)
413
);
MAKEFUNC_ORD
(
RemoveWindowSubclass
,
412
);
MAKEFUNC_ORD
(
DefSubclassProc
,
413
);
#undef MAKEFUNC_ORD
if
(
!
pSetWindowSubclass
||
!
pRemoveWindowSubclass
||
!
pDefSubclassProc
)
if
(
!
pSetWindowSubclass
||
!
pRemoveWindowSubclass
||
!
pDefSubclassProc
)
{
{
win_skip
(
"SetWindowSubclass and friends are not available
\n
"
);
win_skip
(
"SetWindowSubclass and friends are not available
\n
"
);
return
;
return
0
;
}
/* test named exports */
ptr
=
GetProcAddress
(
hmod
,
"SetWindowSubclass"
);
ok
(
broken
(
ptr
==
0
)
||
ptr
!=
0
,
"expected named export for SetWindowSubclass
\n
"
);
if
(
ptr
)
{
#define TESTNAMED(f) \
ptr = (void*)GetProcAddress(hmod, #f); \
ok(ptr != 0, "expected named export for " #f "\n");
TESTNAMED
(
RemoveWindowSubclass
);
TESTNAMED
(
DefSubclassProc
);
/* GetWindowSubclass exported for V6 only */
#undef TESTNAMED
}
}
return
1
;
}
START_TEST
(
subclass
)
{
if
(
!
init_function_pointers
())
return
;
if
(
!
RegisterWindowClasses
())
assert
(
0
);
if
(
!
RegisterWindowClasses
())
assert
(
0
);
test_subclass
();
test_subclass
();
...
...
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