Fix potential race in IPinImpl_ConnectedTo.

diff --git a/dlls/quartz/pin.c b/dlls/quartz/pin.c
index 447581b..3e946cf 100644
--- a/dlls/quartz/pin.c
+++ b/dlls/quartz/pin.c
@@ -247,19 +247,25 @@
 
 HRESULT WINAPI IPinImpl_ConnectedTo(IPin * iface, IPin ** ppPin)
 {
+    HRESULT hr;
     ICOM_THIS(IPinImpl, iface);
 
 /*  TRACE("(%p)\n", ppPin);*/
 
-    *ppPin = This->pConnectedTo;
-
-    if (*ppPin)
+    EnterCriticalSection(This->pCritSec);
     {
-        IPin_AddRef(*ppPin);
-        return S_OK;
+        if (This->pConnectedTo)
+        {
+            *ppPin = This->pConnectedTo;
+            IPin_AddRef(*ppPin);
+            hr = S_OK;
+        }
+        else
+            hr = VFW_E_NOT_CONNECTED;
     }
-    else
-        return VFW_E_NOT_CONNECTED;
+    LeaveCriticalSection(This->pCritSec);
+
+    return hr;
 }
 
 HRESULT WINAPI IPinImpl_ConnectionMediaType(IPin * iface, AM_MEDIA_TYPE * pmt)