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
46390b09
Commit
46390b09
authored
Apr 02, 2012
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winex11: Fix a potential deadlock in the GradientFill non-XRender fallback.
parent
c0c7547f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
6 deletions
+10
-6
graphics.c
dlls/winex11.drv/graphics.c
+10
-6
No files found.
dlls/winex11.drv/graphics.c
View file @
46390b09
...
...
@@ -1446,11 +1446,13 @@ BOOL X11DRV_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG nvert,
}
for
(
x
=
0
,
pos
=
min
(
pt
[
0
].
x
,
pt
[
1
].
x
);
x
<
dx
;
x
++
,
pos
++
)
{
COLORREF
color
=
RGB
(
(
v
[
0
].
Red
*
(
dx
-
x
)
+
v
[
1
].
Red
*
x
)
/
dx
/
256
,
int
color
=
X11DRV_PALETTE_ToPhysical
(
physdev
,
RGB
(
(
v
[
0
].
Red
*
(
dx
-
x
)
+
v
[
1
].
Red
*
x
)
/
dx
/
256
,
(
v
[
0
].
Green
*
(
dx
-
x
)
+
v
[
1
].
Green
*
x
)
/
dx
/
256
,
(
v
[
0
].
Blue
*
(
dx
-
x
)
+
v
[
1
].
Blue
*
x
)
/
dx
/
256
);
(
v
[
0
].
Blue
*
(
dx
-
x
)
+
v
[
1
].
Blue
*
x
)
/
dx
/
256
)
);
wine_tsx11_lock
();
XSetForeground
(
gdi_display
,
physdev
->
gc
,
X11DRV_PALETTE_ToPhysical
(
physdev
,
color
)
);
XSetForeground
(
gdi_display
,
physdev
->
gc
,
color
);
XDrawLine
(
gdi_display
,
physdev
->
drawable
,
physdev
->
gc
,
physdev
->
dc_rect
.
left
+
pos
,
physdev
->
dc_rect
.
top
+
pt
[
0
].
y
,
physdev
->
dc_rect
.
left
+
pos
,
physdev
->
dc_rect
.
top
+
pt
[
1
].
y
);
...
...
@@ -1491,11 +1493,13 @@ BOOL X11DRV_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG nvert,
}
for
(
y
=
0
,
pos
=
min
(
pt
[
0
].
y
,
pt
[
1
].
y
);
y
<
dy
;
y
++
,
pos
++
)
{
COLORREF
color
=
RGB
(
(
v
[
0
].
Red
*
(
dy
-
y
)
+
v
[
1
].
Red
*
y
)
/
dy
/
256
,
int
color
=
X11DRV_PALETTE_ToPhysical
(
physdev
,
RGB
(
(
v
[
0
].
Red
*
(
dy
-
y
)
+
v
[
1
].
Red
*
y
)
/
dy
/
256
,
(
v
[
0
].
Green
*
(
dy
-
y
)
+
v
[
1
].
Green
*
y
)
/
dy
/
256
,
(
v
[
0
].
Blue
*
(
dy
-
y
)
+
v
[
1
].
Blue
*
y
)
/
dy
/
256
);
(
v
[
0
].
Blue
*
(
dy
-
y
)
+
v
[
1
].
Blue
*
y
)
/
dy
/
256
)
);
wine_tsx11_lock
();
XSetForeground
(
gdi_display
,
physdev
->
gc
,
X11DRV_PALETTE_ToPhysical
(
physdev
,
color
)
);
XSetForeground
(
gdi_display
,
physdev
->
gc
,
color
);
XDrawLine
(
gdi_display
,
physdev
->
drawable
,
physdev
->
gc
,
physdev
->
dc_rect
.
left
+
pt
[
0
].
x
,
physdev
->
dc_rect
.
top
+
pos
,
physdev
->
dc_rect
.
left
+
pt
[
1
].
x
,
physdev
->
dc_rect
.
top
+
pos
);
...
...
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