ID:48467
 
Keywords: linux, wine
Scientia potentia est, they say. In a bid to be useful, I decided it might be wise to attempt to fix the icon bug myself, or at least make some head-way with it. After a few hours of mucking about, I can safely say the problem exists a little further up than OleCreateStaticFromData. The way OleCreateStaticFromData works isn't too horrible in itself. It takes a IDataObject in, more or less just calls GetData or GetDataHere (if you provide a certain FORMATETC) as appropriate, then palm you a copy of the particular interface you fancy back. Excepting a nice series of "What the heck does it return in X situation?", which isn't too unusual for ole, it's pretty simple.

However, here's the catch. The default implementation for IDataObject lives in riched20, as a series of non-exported symbols. So essentially there is no default implementation. The Wine people will need to take some decisions on how they arrange that. All the same, if we assume they break it up soon so that ole can call it, there is another catch. GetData only handles unicode and RTF formats currently, and GetDataHere is a total stub. So that would need to be implemented before OleCreateFromStaticData can do it's magic and give us nice embedded icons.

While the Wine people never cease to surprise me, I suspect it's a little way off yet. All in all, don't hold your breath.
I'm just glad we have a decent version of BYOND in WINE for once.
Wine. It's called Wine, not WINE. =P A developer slapped me for this a while back.
They need to slap their own website, then, because the logo says "WINE HQ".
Flame Sage wrote:
I'm just glad we have a decent version of BYOND in WINE for once.

Not everything is what you think it is >_>