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
a5e995ae
Commit
a5e995ae
authored
Oct 04, 2002
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed printf formats for -DSTRICT handles.
parent
613ead7f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
55 additions
and
55 deletions
+55
-55
class.c
dlls/user/tests/class.c
+3
-3
win.c
dlls/user/tests/win.c
+52
-52
No files found.
dlls/user/tests/class.c
View file @
a5e995ae
...
...
@@ -156,11 +156,11 @@ BOOL ClassTest(HINSTANCE hInstance, BOOL global)
ok
(
wc
.
cbWndExtra
==
cls
.
cbWndExtra
,
"cbWndExtra did not match %x!=%x"
,
wc
.
cbWndExtra
,
cls
.
cbWndExtra
);
ok
(
wc
.
hbrBackground
==
cls
.
hbrBackground
,
"hbrBackground did not match %
x!=%x
"
,
wc
.
hbrBackground
,
cls
.
hbrBackground
);
"hbrBackground did not match %
p!=%p
"
,
wc
.
hbrBackground
,
cls
.
hbrBackground
);
ok
(
wc
.
hCursor
==
cls
.
hCursor
,
"hCursor did not match %
x!=%x
"
,
wc
.
hCursor
,
cls
.
hCursor
);
"hCursor did not match %
p!=%p
"
,
wc
.
hCursor
,
cls
.
hCursor
);
ok
(
!
wc
.
hInstance
,
"hInstance not zero for global class %
x
"
,
wc
.
hInstance
);
"hInstance not zero for global class %
p
"
,
wc
.
hInstance
);
}
else
ok
(
FALSE
,
"GetClassInfo (0) failed for global class!"
);
...
...
dlls/user/tests/win.c
View file @
a5e995ae
...
...
@@ -41,20 +41,20 @@ static void check_parents( HWND hwnd, HWND ga_parent, HWND gwl_parent, HWND get_
if
(
pGetAncestor
)
{
res
=
pGetAncestor
(
hwnd
,
GA_PARENT
);
ok
(
res
==
ga_parent
,
"Wrong result for GA_PARENT %
x expected %x
"
,
res
,
ga_parent
);
ok
(
res
==
ga_parent
,
"Wrong result for GA_PARENT %
p expected %p
"
,
res
,
ga_parent
);
}
res
=
(
HWND
)
GetWindowLongW
(
hwnd
,
GWL_HWNDPARENT
);
ok
(
res
==
gwl_parent
,
"Wrong result for GWL_HWNDPARENT %
x expected %x
"
,
res
,
gwl_parent
);
ok
(
res
==
gwl_parent
,
"Wrong result for GWL_HWNDPARENT %
p expected %p
"
,
res
,
gwl_parent
);
res
=
GetParent
(
hwnd
);
ok
(
res
==
get_parent
,
"Wrong result for GetParent %
x expected %x
"
,
res
,
get_parent
);
ok
(
res
==
get_parent
,
"Wrong result for GetParent %
p expected %p
"
,
res
,
get_parent
);
res
=
GetWindow
(
hwnd
,
GW_OWNER
);
ok
(
res
==
gw_owner
,
"Wrong result for GW_OWNER %
x expected %x
"
,
res
,
gw_owner
);
ok
(
res
==
gw_owner
,
"Wrong result for GW_OWNER %
p expected %p
"
,
res
,
gw_owner
);
if
(
pGetAncestor
)
{
res
=
pGetAncestor
(
hwnd
,
GA_ROOT
);
ok
(
res
==
ga_root
,
"Wrong result for GA_ROOT %
x expected %x
"
,
res
,
ga_root
);
ok
(
res
==
ga_root
,
"Wrong result for GA_ROOT %
p expected %p
"
,
res
,
ga_root
);
res
=
pGetAncestor
(
hwnd
,
GA_ROOTOWNER
);
ok
(
res
==
ga_root_owner
,
"Wrong result for GA_ROOTOWNER %
x expected %x
"
,
res
,
ga_root_owner
);
ok
(
res
==
ga_root_owner
,
"Wrong result for GA_ROOTOWNER %
p expected %p
"
,
res
,
ga_root_owner
);
}
}
...
...
@@ -75,7 +75,7 @@ static void test_parent_owner(void)
HWND
desktop
=
GetDesktopWindow
();
HWND
child
=
create_tool_window
(
WS_CHILD
,
hwndMain
);
trace
(
"main window %
x main2 %x desktop %x child %x
\n
"
,
hwndMain
,
hwndMain2
,
desktop
,
child
);
trace
(
"main window %
p main2 %p desktop %p child %p
\n
"
,
hwndMain
,
hwndMain2
,
desktop
,
child
);
/* child without parent, should fail */
test
=
CreateWindowExA
(
0
,
"ToolWindowClass"
,
"Tool window 1"
,
...
...
@@ -91,7 +91,7 @@ static void test_parent_owner(void)
/* normal child window */
test
=
create_tool_window
(
WS_CHILD
,
hwndMain
);
trace
(
"created child %
x
\n
"
,
test
);
trace
(
"created child %
p
\n
"
,
test
);
check_parents
(
test
,
hwndMain
,
hwndMain
,
hwndMain
,
0
,
hwndMain
,
hwndMain
);
SetWindowLongW
(
test
,
GWL_STYLE
,
0
);
check_parents
(
test
,
hwndMain
,
hwndMain
,
0
,
0
,
hwndMain
,
test
);
...
...
@@ -104,7 +104,7 @@ static void test_parent_owner(void)
/* child of desktop */
test
=
create_tool_window
(
WS_CHILD
,
desktop
);
trace
(
"created child of desktop %
x
\n
"
,
test
);
trace
(
"created child of desktop %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
0
,
desktop
,
0
,
test
,
desktop
);
SetWindowLongW
(
test
,
GWL_STYLE
,
WS_POPUP
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
...
...
@@ -114,7 +114,7 @@ static void test_parent_owner(void)
/* child of child */
test
=
create_tool_window
(
WS_CHILD
,
child
);
trace
(
"created child of child %
x
\n
"
,
test
);
trace
(
"created child of child %
p
\n
"
,
test
);
check_parents
(
test
,
child
,
child
,
child
,
0
,
hwndMain
,
hwndMain
);
SetWindowLongW
(
test
,
GWL_STYLE
,
0
);
check_parents
(
test
,
child
,
child
,
0
,
0
,
hwndMain
,
test
);
...
...
@@ -124,7 +124,7 @@ static void test_parent_owner(void)
/* not owned top-level window */
test
=
create_tool_window
(
0
,
0
);
trace
(
"created top-level %
x
\n
"
,
test
);
trace
(
"created top-level %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
SetWindowLongW
(
test
,
GWL_STYLE
,
WS_POPUP
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
...
...
@@ -134,7 +134,7 @@ static void test_parent_owner(void)
/* owned top-level window */
test
=
create_tool_window
(
0
,
hwndMain
);
trace
(
"created owned top-level %
x
\n
"
,
test
);
trace
(
"created owned top-level %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
hwndMain
,
0
,
hwndMain
,
test
,
test
);
SetWindowLongW
(
test
,
GWL_STYLE
,
WS_POPUP
);
check_parents
(
test
,
desktop
,
hwndMain
,
hwndMain
,
hwndMain
,
test
,
hwndMain
);
...
...
@@ -144,7 +144,7 @@ static void test_parent_owner(void)
/* not owned popup */
test
=
create_tool_window
(
WS_POPUP
,
0
);
trace
(
"created popup %
x
\n
"
,
test
);
trace
(
"created popup %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
SetWindowLongW
(
test
,
GWL_STYLE
,
WS_CHILD
);
check_parents
(
test
,
desktop
,
0
,
desktop
,
0
,
test
,
desktop
);
...
...
@@ -154,7 +154,7 @@ static void test_parent_owner(void)
/* owned popup */
test
=
create_tool_window
(
WS_POPUP
,
hwndMain
);
trace
(
"created owned popup %
x
\n
"
,
test
);
trace
(
"created owned popup %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
hwndMain
,
hwndMain
,
hwndMain
,
test
,
hwndMain
);
SetWindowLongW
(
test
,
GWL_STYLE
,
WS_CHILD
);
check_parents
(
test
,
desktop
,
hwndMain
,
desktop
,
hwndMain
,
test
,
desktop
);
...
...
@@ -164,31 +164,31 @@ static void test_parent_owner(void)
/* top-level window owned by child (same as owned by top-level) */
test
=
create_tool_window
(
0
,
child
);
trace
(
"created top-level owned by child %
x
\n
"
,
test
);
trace
(
"created top-level owned by child %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
hwndMain
,
0
,
hwndMain
,
test
,
test
);
DestroyWindow
(
test
);
/* popup owned by desktop (same as not owned) */
test
=
create_tool_window
(
WS_POPUP
,
desktop
);
trace
(
"created popup owned by desktop %
x
\n
"
,
test
);
trace
(
"created popup owned by desktop %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
DestroyWindow
(
test
);
/* popup owned by child (same as owned by top-level) */
test
=
create_tool_window
(
WS_POPUP
,
child
);
trace
(
"created popup owned by child %
x
\n
"
,
test
);
trace
(
"created popup owned by child %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
hwndMain
,
hwndMain
,
hwndMain
,
test
,
hwndMain
);
DestroyWindow
(
test
);
/* not owned popup with WS_CHILD (same as WS_POPUP only) */
test
=
create_tool_window
(
WS_POPUP
|
WS_CHILD
,
0
);
trace
(
"created WS_CHILD popup %
x
\n
"
,
test
);
trace
(
"created WS_CHILD popup %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
DestroyWindow
(
test
);
/* owned popup with WS_CHILD (same as WS_POPUP only) */
test
=
create_tool_window
(
WS_POPUP
|
WS_CHILD
,
hwndMain
);
trace
(
"created owned WS_CHILD popup %
x
\n
"
,
test
);
trace
(
"created owned WS_CHILD popup %
p
\n
"
,
test
);
check_parents
(
test
,
desktop
,
hwndMain
,
hwndMain
,
hwndMain
,
test
,
hwndMain
);
DestroyWindow
(
test
);
...
...
@@ -205,100 +205,100 @@ static void test_parent_owner(void)
/* normal child window */
test
=
create_tool_window
(
WS_CHILD
,
hwndMain
);
trace
(
"created child %
x
\n
"
,
test
);
trace
(
"created child %
p
\n
"
,
test
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
hwndMain2
);
ok
(
ret
==
hwndMain
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
hwndMain
);
ok
(
ret
==
hwndMain
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
hwndMain
);
check_parents
(
test
,
hwndMain2
,
hwndMain2
,
hwndMain2
,
0
,
hwndMain2
,
hwndMain2
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
child
);
ok
(
ret
==
hwndMain2
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
hwndMain2
);
ok
(
ret
==
hwndMain2
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
hwndMain2
);
check_parents
(
test
,
child
,
child
,
child
,
0
,
hwndMain
,
hwndMain
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
desktop
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
child
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
child
);
check_parents
(
test
,
desktop
,
0
,
desktop
,
0
,
test
,
desktop
);
/* window is now child of desktop so GWL_HWNDPARENT changes owner from now on */
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
child
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
x expected %x"
,
ret
,
0
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
p expected 0"
,
ret
);
check_parents
(
test
,
desktop
,
child
,
desktop
,
child
,
test
,
desktop
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
0
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
child
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
child
);
check_parents
(
test
,
desktop
,
0
,
desktop
,
0
,
test
,
desktop
);
DestroyWindow
(
test
);
/* not owned top-level window */
test
=
create_tool_window
(
0
,
0
);
trace
(
"created top-level %
x
\n
"
,
test
);
trace
(
"created top-level %
p
\n
"
,
test
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
hwndMain2
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
x expected %x"
,
ret
,
0
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
p expected 0"
,
ret
);
check_parents
(
test
,
desktop
,
hwndMain2
,
0
,
hwndMain2
,
test
,
test
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
child
);
ok
(
ret
==
hwndMain2
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
hwndMain2
);
ok
(
ret
==
hwndMain2
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
hwndMain2
);
check_parents
(
test
,
desktop
,
child
,
0
,
child
,
test
,
test
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
0
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
child
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
child
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
DestroyWindow
(
test
);
/* not owned popup */
test
=
create_tool_window
(
WS_POPUP
,
0
);
trace
(
"created popup %
x
\n
"
,
test
);
trace
(
"created popup %
p
\n
"
,
test
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
hwndMain2
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
x expected %x"
,
ret
,
0
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
p expected 0"
,
ret
);
check_parents
(
test
,
desktop
,
hwndMain2
,
hwndMain2
,
hwndMain2
,
test
,
hwndMain2
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
LONG_PTR
)
child
);
ok
(
ret
==
hwndMain2
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
hwndMain2
);
ok
(
ret
==
hwndMain2
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
hwndMain2
);
check_parents
(
test
,
desktop
,
child
,
child
,
child
,
test
,
hwndMain
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
0
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
child
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
child
);
check_parents
(
test
,
desktop
,
0
,
0
,
0
,
test
,
test
);
DestroyWindow
(
test
);
/* normal child window */
test
=
create_tool_window
(
WS_CHILD
,
hwndMain
);
trace
(
"created child %
x
\n
"
,
test
);
trace
(
"created child %
p
\n
"
,
test
);
ret
=
SetParent
(
test
,
desktop
);
ok
(
ret
==
hwndMain
,
"SetParent return value %
x expected %x
"
,
ret
,
hwndMain
);
ok
(
ret
==
hwndMain
,
"SetParent return value %
p expected %p
"
,
ret
,
hwndMain
);
check_parents
(
test
,
desktop
,
0
,
desktop
,
0
,
test
,
desktop
);
ret
=
SetParent
(
test
,
child
);
ok
(
ret
==
desktop
,
"SetParent return value %
x expected %x
"
,
ret
,
desktop
);
ok
(
ret
==
desktop
,
"SetParent return value %
p expected %p
"
,
ret
,
desktop
);
check_parents
(
test
,
child
,
child
,
child
,
0
,
hwndMain
,
hwndMain
);
ret
=
SetParent
(
test
,
hwndMain2
);
ok
(
ret
==
child
,
"SetParent return value %
x expected %x
"
,
ret
,
child
);
ok
(
ret
==
child
,
"SetParent return value %
p expected %p
"
,
ret
,
child
);
check_parents
(
test
,
hwndMain2
,
hwndMain2
,
hwndMain2
,
0
,
hwndMain2
,
hwndMain2
);
DestroyWindow
(
test
);
/* not owned top-level window */
test
=
create_tool_window
(
0
,
0
);
trace
(
"created top-level %
x
\n
"
,
test
);
trace
(
"created top-level %
p
\n
"
,
test
);
ret
=
SetParent
(
test
,
child
);
ok
(
ret
==
desktop
,
"SetParent return value %
x expected %x
"
,
ret
,
desktop
);
ok
(
ret
==
desktop
,
"SetParent return value %
p expected %p
"
,
ret
,
desktop
);
check_parents
(
test
,
child
,
child
,
0
,
0
,
hwndMain
,
test
);
DestroyWindow
(
test
);
/* owned popup */
test
=
create_tool_window
(
WS_POPUP
,
hwndMain2
);
trace
(
"created owned popup %
x
\n
"
,
test
);
trace
(
"created owned popup %
p
\n
"
,
test
);
ret
=
SetParent
(
test
,
child
);
ok
(
ret
==
desktop
,
"SetParent return value %
x expected %x
"
,
ret
,
desktop
);
ok
(
ret
==
desktop
,
"SetParent return value %
p expected %p
"
,
ret
,
desktop
);
check_parents
(
test
,
child
,
child
,
hwndMain2
,
hwndMain2
,
hwndMain
,
hwndMain2
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
ULONG_PTR
)
hwndMain
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
x expected %x
"
,
ret
,
child
);
ok
(
ret
==
child
,
"GWL_HWNDPARENT return value %
p expected %p
"
,
ret
,
child
);
check_parents
(
test
,
hwndMain
,
hwndMain
,
hwndMain2
,
hwndMain2
,
hwndMain
,
hwndMain2
);
DestroyWindow
(
test
);
...
...
@@ -307,35 +307,35 @@ static void test_parent_owner(void)
/* owned child popup */
owner
=
create_tool_window
(
0
,
0
);
test
=
create_tool_window
(
WS_POPUP
,
owner
);
trace
(
"created owner %
x and popup %x
\n
"
,
owner
,
test
);
trace
(
"created owner %
p and popup %p
\n
"
,
owner
,
test
);
ret
=
SetParent
(
test
,
child
);
ok
(
ret
==
desktop
,
"SetParent return value %
x expected %x
"
,
ret
,
desktop
);
ok
(
ret
==
desktop
,
"SetParent return value %
p expected %p
"
,
ret
,
desktop
);
check_parents
(
test
,
child
,
child
,
owner
,
owner
,
hwndMain
,
owner
);
/* window is now child of 'child' but owned by 'owner' */
DestroyWindow
(
owner
);
ok
(
IsWindow
(
test
),
"Window %
x
destroyed by owner destruction"
,
test
);
ok
(
IsWindow
(
test
),
"Window %
p
destroyed by owner destruction"
,
test
);
check_parents
(
test
,
child
,
child
,
owner
,
owner
,
hwndMain
,
owner
);
ok
(
!
IsWindow
(
owner
),
"Owner %
x
not destroyed"
,
owner
);
ok
(
!
IsWindow
(
owner
),
"Owner %
p
not destroyed"
,
owner
);
DestroyWindow
(
test
);
/* owned top-level popup */
owner
=
create_tool_window
(
0
,
0
);
test
=
create_tool_window
(
WS_POPUP
,
owner
);
trace
(
"created owner %
x and popup %x
\n
"
,
owner
,
test
);
trace
(
"created owner %
p and popup %p
\n
"
,
owner
,
test
);
check_parents
(
test
,
desktop
,
owner
,
owner
,
owner
,
test
,
owner
);
DestroyWindow
(
owner
);
ok
(
!
IsWindow
(
test
),
"Window %
x
not destroyed by owner destruction"
,
test
);
ok
(
!
IsWindow
(
test
),
"Window %
p
not destroyed by owner destruction"
,
test
);
/* top-level popup owned by child */
owner
=
create_tool_window
(
WS_CHILD
,
hwndMain2
);
test
=
create_tool_window
(
WS_POPUP
,
0
);
trace
(
"created owner %
x and popup %x
\n
"
,
owner
,
test
);
trace
(
"created owner %
p and popup %p
\n
"
,
owner
,
test
);
ret
=
(
HWND
)
SetWindowLongW
(
test
,
GWL_HWNDPARENT
,
(
ULONG_PTR
)
owner
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
x expected %x"
,
ret
,
0
);
ok
(
ret
==
0
,
"GWL_HWNDPARENT return value %
p expected 0"
,
ret
);
check_parents
(
test
,
desktop
,
owner
,
owner
,
owner
,
test
,
hwndMain2
);
DestroyWindow
(
owner
);
ok
(
IsWindow
(
test
),
"Window %
x
destroyed by owner destruction"
,
test
);
ok
(
!
IsWindow
(
owner
),
"Owner %
x
not destroyed"
,
owner
);
ok
(
IsWindow
(
test
),
"Window %
p
destroyed by owner destruction"
,
test
);
ok
(
!
IsWindow
(
owner
),
"Owner %
p
not destroyed"
,
owner
);
check_parents
(
test
,
desktop
,
owner
,
owner
,
owner
,
test
,
owner
);
DestroyWindow
(
test
);
...
...
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