PATCH/RFC: defer OLE apartment window creation
Robert Shearman
rob at codeweavers.com
Tue Jan 10 19:59:00 CST 2006
Marcus Meissner wrote:
>On Wed, Dec 21, 2005 at 02:55:14AM +0000, Robert Shearman wrote:
>
>
>>Marcus Meissner wrote:
>>
>>
>>
>>>@@ -257,6 +254,15 @@
>>> return apt;
>>>}
>>>
>>>+void make_apartment_window(APARTMENT *apt) {
>>>+ if (apt->win) return;
>>>+ if (!(apt->model & COINIT_APARTMENTTHREADED))
>>>+ return;
>>>+ apt->win = CreateWindowW(wszAptWinClass, NULL, 0,
>>>+ 0, 0, 0, 0,
>>>+ 0, 0, OLE32_hInstance, NULL);
>>>+}
>>>+
>>>
>>>
>>>
>>This isn't thread-safe. It would also be better to make this an accessor
>>function for the win field of struct apartment and fix up all callers to
>>use this. I still have to verify on Windows whether this is what it does
>>or whether it does something funny with message loops.
>>
>>
>
>I lack the time and testing abilities to do this right now (and now
>on xmas break).
>
>Its just a quick hack to get Google Earth running.
>
Can you update to latest CVS and confirm that this issue is fixed now?
--
Rob Shearman
More information about the wine-devel
mailing list