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
d9df9770
Commit
d9df9770
authored
Aug 23, 2016
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user32: Don't disallow delayed rendering even when not the clipboard owner.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
42c221db
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
3 additions
and
13 deletions
+3
-13
clipboard.c
dlls/user32/clipboard.c
+0
-8
clipboard.c
dlls/user32/tests/clipboard.c
+1
-1
clipboard.c
dlls/winex11.drv/clipboard.c
+2
-4
No files found.
dlls/user32/clipboard.c
View file @
d9df9770
...
@@ -352,14 +352,6 @@ HANDLE WINAPI SetClipboardData(UINT wFormat, HANDLE hData)
...
@@ -352,14 +352,6 @@ HANDLE WINAPI SetClipboardData(UINT wFormat, HANDLE hData)
return
0
;
return
0
;
}
}
/* If it's not owned, data can only be set if the format isn't
available and its rendering is not delayed */
if
(
!
(
flags
&
CB_OWNER
)
&&
!
hData
)
{
WARN
(
"Clipboard not owned by calling task. Operation failed.
\n
"
);
return
0
;
}
if
(
USER_Driver
->
pSetClipboardData
(
wFormat
,
hData
,
flags
&
CB_OWNER
))
if
(
USER_Driver
->
pSetClipboardData
(
wFormat
,
hData
,
flags
&
CB_OWNER
))
{
{
hResult
=
hData
;
hResult
=
hData
;
...
...
dlls/user32/tests/clipboard.c
View file @
d9df9770
...
@@ -65,7 +65,7 @@ static DWORD WINAPI set_clipboard_data_thread(LPVOID arg)
...
@@ -65,7 +65,7 @@ static DWORD WINAPI set_clipboard_data_thread(LPVOID arg)
if
(
GetClipboardOwner
()
==
hwnd
)
if
(
GetClipboardOwner
()
==
hwnd
)
{
{
SetClipboardData
(
CF_WAVE
,
0
);
SetClipboardData
(
CF_WAVE
,
0
);
todo_wine
ok
(
IsClipboardFormatAvailable
(
CF_WAVE
),
"%u: SetClipboardData failed
\n
"
,
thread_from_line
);
ok
(
IsClipboardFormatAvailable
(
CF_WAVE
),
"%u: SetClipboardData failed
\n
"
,
thread_from_line
);
ret
=
SetClipboardData
(
CF_WAVE
,
GlobalAlloc
(
GMEM_DDESHARE
|
GMEM_ZEROINIT
,
100
));
ret
=
SetClipboardData
(
CF_WAVE
,
GlobalAlloc
(
GMEM_DDESHARE
|
GMEM_ZEROINIT
,
100
));
ok
(
ret
!=
0
,
"%u: SetClipboardData failed err %u
\n
"
,
thread_from_line
,
GetLastError
()
);
ok
(
ret
!=
0
,
"%u: SetClipboardData failed err %u
\n
"
,
thread_from_line
,
GetLastError
()
);
}
}
...
...
dlls/winex11.drv/clipboard.c
View file @
d9df9770
...
@@ -3016,16 +3016,14 @@ BOOL CDECL X11DRV_SetClipboardData(UINT wFormat, HANDLE hData, BOOL owner)
...
@@ -3016,16 +3016,14 @@ BOOL CDECL X11DRV_SetClipboardData(UINT wFormat, HANDLE hData, BOOL owner)
DWORD
flags
=
0
;
DWORD
flags
=
0
;
BOOL
bResult
=
TRUE
;
BOOL
bResult
=
TRUE
;
/* If it's not owned, data can only be set if the format data is not already owned
/* If it's not owned, data can only be set if the format data is not already owned */
and its rendering is not delayed */
if
(
!
owner
)
if
(
!
owner
)
{
{
LPWINE_CLIPDATA
lpRender
;
LPWINE_CLIPDATA
lpRender
;
X11DRV_CLIPBOARD_UpdateCache
();
X11DRV_CLIPBOARD_UpdateCache
();
if
(
!
hData
||
if
(((
lpRender
=
X11DRV_CLIPBOARD_LookupData
(
wFormat
))
&&
((
lpRender
=
X11DRV_CLIPBOARD_LookupData
(
wFormat
))
&&
!
(
lpRender
->
wFlags
&
CF_FLAG_UNOWNED
)))
!
(
lpRender
->
wFlags
&
CF_FLAG_UNOWNED
)))
bResult
=
FALSE
;
bResult
=
FALSE
;
else
else
...
...
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