void StatusView::DetachedFromWindow() { fDriverInterface.StopWatching(); if (RemoveFilter(fPrefFileWatcher)) delete fPrefFileWatcher; if (RemoveFilter(fFrequencySwitcher)) delete fFrequencySwitcher; if (RemoveFilter(fPreferencesMenuFilter)) delete fPreferencesMenuFilter; delete fPreferencesMenu; }
AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, const ALuint *filters) { ALCcontext *Context; ALfilter *Filter; ALsizei i; Context = GetContextRef(); if(!Context) return; al_try { ALCdevice *device = Context->Device; CHECK_VALUE(Context, n >= 0); for(i = 0;i < n;i++) { if(filters[i] && LookupFilter(device, filters[i]) == NULL) al_throwerr(Context, AL_INVALID_NAME); } for(i = 0;i < n;i++) { if((Filter=RemoveFilter(device, filters[i])) == NULL) continue; FreeThunkEntry(Filter->id); memset(Filter, 0, sizeof(*Filter)); free(Filter); } } al_endtry; ALCcontext_DecRef(Context); }
AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, const ALuint *filters) { ALCdevice *device; ALCcontext *context; ALfilter *filter; ALsizei i; context = GetContextRef(); if(!context) return; if(!(n >= 0)) SET_ERROR_AND_GOTO(context, AL_INVALID_VALUE, done); device = context->Device; for(i = 0;i < n;i++) { if(filters[i] && LookupFilter(device, filters[i]) == NULL) SET_ERROR_AND_GOTO(context, AL_INVALID_NAME, done); } for(i = 0;i < n;i++) { if((filter=RemoveFilter(device, filters[i])) == NULL) continue; FreeThunkEntry(filter->id); memset(filter, 0, sizeof(*filter)); free(filter); } done: ALCcontext_DecRef(context); }
HRESULT CGraphRender::StopRecord() { HRESULT hr = S_OK; this->Stop(); if ( m_pMultiplexer ) { RemoveFilter( m_pMultiplexer ); m_pMultiplexer = NULL; } if ( m_pFileSink ) { RemoveFilter( m_pFileSink ); m_pFileSink = NULL; } DbgLog((LOG_TRACE, 0, TEXT("StopRecord[%s]."), GetNamed())); return Run(); }
AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, ALuint *filters) { ALCcontext *Context; ALCdevice *device; ALfilter *ALFilter; ALsizei i; Context = GetContextRef(); if(!Context) return; device = Context->Device; if(n < 0) alSetError(Context, AL_INVALID_VALUE); else { // Check that all filters are valid for(i = 0;i < n;i++) { if(!filters[i]) continue; if(LookupFilter(device->FilterMap, filters[i]) == NULL) { alSetError(Context, AL_INVALID_NAME); n = 0; break; } } for(i = 0;i < n;i++) { // Recheck that the filter is valid, because there could be duplicated names if((ALFilter=RemoveFilter(device->FilterMap, filters[i])) == NULL) continue; FreeThunkEntry(ALFilter->filter); memset(ALFilter, 0, sizeof(ALfilter)); free(ALFilter); } } ALCcontext_DecRef(Context); }
HRESULT RemoveFilter(IGraphBuilder* pGraphBuilder, IBaseFilter* pBaseFilter) { CheckPointer(pGraphBuilder, E_POINTER); CheckPointer(pBaseFilter, E_PENDING); IEnumPins *pEnumPins = NULL; HRESULT hr = pBaseFilter->EnumPins(&pEnumPins); if (FAILED(hr)) return hr; pEnumPins->Reset(); IPin *pPinFrom = 0, *pPinTo = 0; while ((hr = pEnumPins->Next(1, &pPinFrom, NULL)) == S_OK) { if (SUCCEEDED(hr)) { hr = pPinFrom->ConnectedTo(&pPinTo); if (SUCCEEDED(hr)) { PIN_INFO info; hr = pPinTo->QueryPinInfo(&info); if (SUCCEEDED(hr)) { if (info.dir == PINDIR_INPUT) { RemoveFilter(pGraphBuilder, info.pFilter); pGraphBuilder->Disconnect(pPinTo); pGraphBuilder->Disconnect(pPinFrom); pGraphBuilder->RemoveFilter(info.pFilter); } info.pFilter->Release(); } pPinTo->Release(); } pPinFrom->Release(); } } pEnumPins->Release(); return S_OK; }
void CAdblockPlusClient::RemoveFilter(const std::wstring& text) { RemoveFilter(ToUtf8String(text)); }