PATCH/RFC: defer OLE apartment window creation

Marcus Meissner meissner at suse.de
Wed Dec 21 09:46:48 CST 2005


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.

It is now up to showing the famous GL "black screen". :(

(WINEDLLOVERRIDES=*usp10=n)

Ciao, Marcus



More information about the wine-devel mailing list