urlmon: Added support for PI_FORCE_ASYNC flag in IInternetProtocol::Switch implementation.
diff --git a/dlls/urlmon/bindprot.c b/dlls/urlmon/bindprot.c
index aef74fc..0941e25 100644
--- a/dlls/urlmon/bindprot.c
+++ b/dlls/urlmon/bindprot.c
@@ -939,7 +939,8 @@
         return E_OUTOFMEMORY;
     memcpy(data, pProtocolData, sizeof(PROTOCOLDATA));
 
-    if(!do_direct_notif(This)) {
+    if((This->pi&PI_APARTMENTTHREADED && pProtocolData->grfFlags&PI_FORCE_ASYNC)
+            || !do_direct_notif(This)) {
         switch_task_t *task;
 
         task = heap_alloc(sizeof(switch_task_t));