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
824c5089
Commit
824c5089
authored
Oct 16, 2010
by
Vladimir Panteleev
Committed by
Alexandre Julliard
Oct 18, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user32: Update last active popup for all parents.
parent
971e9a22
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
3 deletions
+30
-3
win.c
dlls/user32/tests/win.c
+23
-0
window.c
server/window.c
+7
-3
No files found.
dlls/user32/tests/win.c
View file @
824c5089
...
...
@@ -6256,6 +6256,28 @@ todo_wine
ok
(
found
!=
NULL
,
"found is NULL, expected a valid hwnd
\n
"
);
}
static
void
test_GetLastActivePopup
(
void
)
{
HWND
hwndOwner
,
hwndPopup1
,
hwndPopup2
;
hwndOwner
=
CreateWindowExA
(
0
,
"MainWindowClass"
,
NULL
,
WS_VISIBLE
|
WS_POPUPWINDOW
,
100
,
100
,
200
,
200
,
NULL
,
0
,
GetModuleHandle
(
0
),
NULL
);
hwndPopup1
=
CreateWindowExA
(
0
,
"MainWindowClass"
,
NULL
,
WS_VISIBLE
|
WS_POPUPWINDOW
,
100
,
100
,
200
,
200
,
hwndOwner
,
0
,
GetModuleHandle
(
0
),
NULL
);
hwndPopup2
=
CreateWindowExA
(
0
,
"MainWindowClass"
,
NULL
,
WS_VISIBLE
|
WS_POPUPWINDOW
,
100
,
100
,
200
,
200
,
hwndPopup1
,
0
,
GetModuleHandle
(
0
),
NULL
);
ok
(
GetLastActivePopup
(
hwndOwner
)
==
hwndPopup2
,
"wrong last active popup
\n
"
);
DestroyWindow
(
hwndPopup2
);
DestroyWindow
(
hwndPopup1
);
DestroyWindow
(
hwndOwner
);
}
START_TEST
(
win
)
{
HMODULE
user32
=
GetModuleHandleA
(
"user32.dll"
);
...
...
@@ -6329,6 +6351,7 @@ START_TEST(win)
test_children_zorder
(
hwndMain
);
test_popup_zorder
(
hwndMain2
,
hwndMain
,
WS_POPUP
);
test_popup_zorder
(
hwndMain2
,
hwndMain
,
0
);
test_GetLastActivePopup
();
test_keyboard_input
(
hwndMain
);
test_mouse_input
(
hwndMain
);
test_validatergn
(
hwndMain
);
...
...
server/window.c
View file @
824c5089
...
...
@@ -569,9 +569,13 @@ int make_window_active( user_handle_t window )
if
(
!
win
)
return
0
;
/* set last active for window and its owner */
win
->
last_active
=
win
->
handle
;
if
((
owner
=
get_user_object
(
win
->
owner
,
USER_WINDOW
)))
owner
->
last_active
=
win
->
handle
;
/* set last active for window and its owners */
owner
=
win
;
while
(
owner
)
{
owner
->
last_active
=
win
->
handle
;
owner
=
get_user_object
(
owner
->
owner
,
USER_WINDOW
);
}
return
1
;
}
...
...
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