Changes between Initial Version and Version 1 of Ticket #13443, comment 46


Ignore:
Timestamp:
Oct 28, 2014, 6:39:15 PM (5 years ago)
Author:
cypherpunks
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #13443, comment 46

    initial v1  
    11Patch for BaseFilter:
    22{{{
    3      return E_POINTER;
    4    }
    5  
    6 -  if (riid == IID_IBaseFilter || riid == IID_IUnknown) {
    7 +  if (riid == IID_IBaseFilter || riid == IID_IUnknown ||
    8 +      riid == __uuidof(BaseFilter)) {
     3   if (riid == IID_IBaseFilter || riid == IID_IUnknown) {
    94     *aInterface = static_cast<IBaseFilter*>(this);
     5+  } else if (riid == __uuidof(BaseFilter)) {
     6+    *aInterface = this;
    107   } else if (riid == IID_IMediaFilter) {
    118     *aInterface = static_cast<IMediaFilter*>(this);
     9   } else if (riid == IID_IPersist) {
    1210}}}
    1311and for BasePin:
    1412{{{
    15      return E_POINTER;
    16    }
    17  
    18 -  if (aIID == IID_IPin || aIID == IID_IUnknown) {
    19 +  if (aIID == IID_IPin || aIID == IID_IUnknown ||
    20 +      aIID == __uuidof(BasePin)) {
     13   if (aIID == IID_IPin || aIID == IID_IUnknown) {
    2114     *aInterface = static_cast<IPin*>(this);
     15+  } else if (aIID == __uuidof(BasePin)) {
     16+    *aInterface = this;
    2217   } else if (aIID == IID_IQualityControl) {
    2318     *aInterface = static_cast<IQualityControl*>(this);
     19   } else {
    2420}}}
    25 Probably non working/wrong, and for sure incomplete. Yet another QueryInterfaces waiting for some patching too.
     21Probably non working/wrong.