ole: Change the Apartment Model field to a boolean.
Change the apartment model field to a boolean that just specifies
whether the apartment is multi-threaded or not and fix up all the
places where this is used.
Fixes a bug where we would return an error if the previous apartment
model passed into CoInitializeEx matches the new apartment model, but
additional optimisation flags are specified.
diff --git a/dlls/ole32/compobj_private.h b/dlls/ole32/compobj_private.h
index 2e86a99..caa84de 100644
--- a/dlls/ole32/compobj_private.h
+++ b/dlls/ole32/compobj_private.h
@@ -132,10 +132,10 @@
/* this needs to become a COM object that implements IRemUnknown */
struct apartment
{
- struct list entry;
+ struct list entry;
LONG refs; /* refcount of the apartment (LOCK) */
- DWORD model; /* threading model (RO) */
+ BOOL multi_threaded; /* multi-threaded or single-threaded apartment? (RO) */
DWORD tid; /* thread id (RO) */
OXID oxid; /* object exporter ID (RO) */
LONG ipidc; /* interface pointer ID counter, starts at 1 (LOCK) */