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
13830123
Commit
13830123
authored
May 19, 2016
by
Vincent Povirk
Committed by
Alexandre Julliard
May 21, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user32: Also change rcUpdate when scrolling by more than the window size.
Signed-off-by:
Vincent Povirk
<
vincent@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
b72c2e85
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
1 deletion
+22
-1
painting.c
dlls/user32/painting.c
+7
-0
win.c
dlls/user32/tests/win.c
+15
-1
No files found.
dlls/user32/painting.c
View file @
13830123
...
...
@@ -1501,6 +1501,13 @@ static INT scroll_window( HWND hwnd, INT dx, INT dy, const RECT *rect, const REC
CombineRgn
(
hrgnTemp
,
hrgnTemp
,
hrgnClip
,
RGN_AND
);
CombineRgn
(
hrgnUpdate
,
hrgnUpdate
,
hrgnTemp
,
RGN_OR
);
if
(
rcUpdate
)
{
RECT
rcTemp
;
GetRgnBox
(
hrgnTemp
,
&
rcTemp
);
UnionRect
(
rcUpdate
,
rcUpdate
,
&
rcTemp
);
}
if
(
!
bOwnRgn
)
CombineRgn
(
hrgnWinupd
,
hrgnWinupd
,
hrgnTemp
,
RGN_OR
);
}
...
...
dlls/user32/tests/win.c
View file @
13830123
...
...
@@ -4841,11 +4841,25 @@ static void test_scrollvalidate( HWND parent)
rcu
.
left
,
rcu
.
top
,
rcu
.
right
,
rcu
.
bottom
);
ReleaseDC
(
hwnd1
,
hdc
);
/* test scrolling a
window with an update region
*/
/* test scrolling a
rect by more than its size
*/
DestroyWindow
(
hwnd2
);
ValidateRect
(
hwnd1
,
NULL
);
SetRect
(
&
rc
,
40
,
40
,
50
,
50
);
InvalidateRect
(
hwnd1
,
&
rc
,
1
);
ScrollWindowEx
(
hwnd1
,
-
20
,
0
,
&
rc
,
NULL
,
hrgn
,
&
rcu
,
SW_SCROLLCHILDREN
|
SW_INVALIDATE
);
if
(
winetest_debug
>
0
)
dump_region
(
hrgn
);
SetRectRgn
(
exprgn
,
20
,
40
,
30
,
50
);
SetRectRgn
(
tmprgn
,
40
,
40
,
50
,
50
);
CombineRgn
(
exprgn
,
exprgn
,
tmprgn
,
RGN_OR
);
ok
(
EqualRgn
(
exprgn
,
hrgn
),
"wrong update region
\n
"
);
ok
(
rcu
.
left
==
20
&&
rcu
.
top
==
40
&&
rcu
.
right
==
50
&&
rcu
.
bottom
==
50
,
"unexpected update rect: %d,%d - %d,%d
\n
"
,
rcu
.
left
,
rcu
.
top
,
rcu
.
right
,
rcu
.
bottom
);
/* test scrolling a window with an update region */
ValidateRect
(
hwnd1
,
NULL
);
SetRect
(
&
rc
,
40
,
40
,
50
,
50
);
InvalidateRect
(
hwnd1
,
&
rc
,
1
);
GetClientRect
(
hwnd1
,
&
rc
);
cliprc
=
rc
;
ScrollWindowEx
(
hwnd1
,
-
10
,
0
,
&
rc
,
&
cliprc
,
hrgn
,
&
rcu
,
...
...
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