Hi,
I have been debugging an issue regarding the clipboard, and I would be thankful if anyone could confirm what I suspect.
When an application requests data from the clipboard in some specific format, the data may come from the ole clipboard or the general one (user32<->wineserver). If the piece of data comes from the general clipboard through `wineserver`, the ole clipboard still considers the format as needing to be "TYMED" (ole32/clipboard.c:get_priv_data(): call get_tymed_from_nonole_cf(cf)). Most formats available in the general clipboard are not included in the switch statement, which makes them unavailable. However, the full data is transferred by `wineserver`, so if the default in `get_tymed_from_nonole_cf` were TYMED_HGLOBAL, the ole clipboard would duplicate the transferred data with a global handle, and applications could use those formats that have been put there.
Is there a reason why TYMED_HGLOBAL is not the default for unrecognized formats? I am still learning the code, but in my limited testing I have still not seen failures when I make it so.
Thank you.