[PATCH] ole32: Avoid the failure of flushing the ole clipboard when the clipboard manager gets the data.

Francois Gouget fgouget at codeweavers.com
Thu May 20 08:42:07 CDT 2021


On Thu, 20 May 2021, Haoyang Chen wrote:

> When ole has set the clipboard data, the clipboard manager may preempt
> this data (by sending a WM_RENDERFORMAT message). At this point the
> clipboard ownership may be occupied by the clipboard manager; resulting
> in a failure to flush the ole clipboard.

That's interesting. Could this explain all the ERROR_ACCESS_DENIED / 
CLIPBRD_E_CANT_OPEN errors we're getting, in ole32:clipboard and 
user32:clipboard?

But why do these happen mostly on cw-rx460? And why would tinkering with 
the Radeon driver settings make a difference despite no setting being a 
clear culprit? [1]

https://test.winehq.org/data/patterns.html#ole32:clipboard
https://test.winehq.org/data/patterns.html#user32:clipboard

But even if it only leads to a way to avoid rare errors like this one 
(not on cx-rx460) that would be good: 
https://test.winehq.org/data/d7fecebe93938bf1ef2349ac74413e28d6b8e153/win1809_newtb-w1064v18$


[1] For instance, starting from a situation where user32:clipboard fails 
    systematically, it goes like this:
    - Reboot -> user32:clipboard still fails systematically
    - Turn off some setting -> no change (iirc)
    - Reboot -> failure rate falls to ~ 1/30
      Okay, that means changing a feature only makes a difference after 
      a reboot.
    - Turn feature back on -> still good, as expected
    - Reboot -> still good!!!

-- 
Francois Gouget <fgouget at codeweavers.com>



More information about the wine-devel mailing list