From: Francois Gouget Subject: Re: [PATCH] ole32: Avoid the failure of flushing the ole clipboard when the clipboard manager gets the data. Message-Id: Date: Thu, 20 May 2021 15:42:07 +0200 (CEST) In-Reply-To: <20210520070701.18505-1-chenhaoyang@uniontech.com> References: <20210520070701.18505-1-chenhaoyang@uniontech.com> 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