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