gecko-dev/ipc/mscom
James Teh 752cda7b26 Bug 1433046: mscom::Interceptor: Don't destroy an aggregated interceptor before releasing its interface. r=aklotz
When an object is aggregated, doing a QI to anything other than IUnknown on the inner object AddRefs the outer object.
Thus, before releasing our reference to the inner IUnknown (and thus destroying it), we *must* release any references to interfaces queried from it.
Otherwise, any pointers to interfaces of the inner object would be invalidated.

MozReview-Commit-ID: KXsA8Sagx6G

--HG--
extra : rebase_source : f1dca4ee71f2ed49c8ba19c12862f2b4f9881fca
2018-02-08 15:53:20 +10:00
..
oop Bug 1416986 part 1: Allow an mscom Handler to signal that it knows an interface is definitely not available. r=aklotz 2017-11-15 09:59:44 +10:00
ActivationContext.cpp
ActivationContext.h
Aggregation.h
AgileReference.cpp
AgileReference.h
AsyncInvoker.h
COMApartmentRegion.h
COMPtrHolder.h Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00
DispatchForwarder.cpp
DispatchForwarder.h
DynamicallyLinkedFunctionPtr.h
EnsureMTA.cpp
EnsureMTA.h
FastMarshaler.cpp
FastMarshaler.h
IHandlerProvider.h Bug 1411439: Pass reference to owning interceptor into HandlerProvider for payload creation; r=Jamie 2017-10-24 17:48:51 -06:00
Interceptor.cpp Bug 1433046: mscom::Interceptor: Don't destroy an aggregated interceptor before releasing its interface. r=aklotz 2018-02-08 15:53:20 +10:00
Interceptor.h Bug 1428759: Remove mutual exclusion from WeakReferenceSupport interface queries; r=Jamie 2018-01-12 14:17:18 -07:00
InterceptorLog.cpp Bug 1411391: Ensure mscom::InterceptorLog covers time spent wrapping outparams in mscom::MainThreadHandoff; r=jimm 2017-10-23 16:55:26 -06:00
InterceptorLog.h Bug 1411391: Ensure mscom::InterceptorLog covers time spent wrapping outparams in mscom::MainThreadHandoff; r=jimm 2017-10-23 16:55:26 -06:00
MainThreadClientInfo.cpp
MainThreadClientInfo.h
MainThreadHandoff.cpp Bug 1411391: Ensure mscom::InterceptorLog covers time spent wrapping outparams in mscom::MainThreadHandoff; r=jimm 2017-10-23 16:55:26 -06:00
MainThreadHandoff.h Bug 1411439: Pass reference to owning interceptor into HandlerProvider for payload creation; r=Jamie 2017-10-24 17:48:51 -06:00
MainThreadInvoker.cpp Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
MainThreadInvoker.h
MainThreadRuntime.cpp Bug 1404482: Remove crash report annotation that was being made before the crash reporter initialized; r=Jamie 2018-01-23 12:06:58 -07:00
MainThreadRuntime.h
Objref.cpp
Objref.h
PassthruProxy.cpp
PassthruProxy.h Bug 1406827: Do not wrap an interface with a passthru proxy unless sandboxing is enabled and >= level 3; r=jimm 2017-11-03 16:50:17 -06:00
ProxyStream.cpp Bug 1414421: Change some diagnostic asserts in mscom to stop firing on dev edition; r=Jamie 2017-11-29 14:50:17 -07:00
ProxyStream.h
Ptr.h
Registration.cpp
Registration.h
RegistrationAnnotator.cpp
RegistrationAnnotator.h Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00
SpinEvent.cpp
SpinEvent.h
StructStream.cpp
StructStream.h
Utils.cpp
Utils.h
VTableBuilder.c
VTableBuilder.h
WeakRef.cpp Bug 1433046: Use WeakReferenceSupport::StabilizeRefCount instead of regular kung-fu death grips when aggregating; r=Jamie 2018-01-25 13:45:21 -07:00
WeakRef.h Bug 1433046: Use WeakReferenceSupport::StabilizeRefCount instead of regular kung-fu death grips when aggregating; r=Jamie 2018-01-25 13:45:21 -07:00
moz.build Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00