From: <ad...@us...> - 2003-02-20 07:53:42
|
Update of /cvsroot/bdadev/TuneReqStore In directory sc8-pr-cvs1:/tmp/cvs-serv15991 Modified Files: StdAfx.h TuneInfo.cpp TuneInfo.h TuneRequestStore.cpp TuneRequestStore.h Log Message: Fixes to crashing problems Index: StdAfx.h =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/StdAfx.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StdAfx.h 19 Feb 2003 15:05:08 -0000 1.2 --- StdAfx.h 20 Feb 2003 07:53:39 -0000 1.3 *************** *** 36,40 **** #include <vector> ! #define CHECK(x) { HRESULT __hr(x); if(FAILED(__hr)) {ATLTRACE(#x " Returned %8x\n", __hr); return __hr;}} #import "msxml.dll" rename_namespace("xml") raw_interfaces_only no_implementation --- 36,41 ---- #include <vector> ! #define CHECK(x) { HRESULT __hr(x); if(FAILED(__hr)) {ATLTRACE(#x " Returned %8x\n", __hr); _asm{int 3}; return __hr;}} ! //void CHECK(HRESULT hr); #import "msxml.dll" rename_namespace("xml") raw_interfaces_only no_implementation Index: TuneInfo.cpp =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneInfo.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TuneInfo.cpp 19 Feb 2003 17:21:42 -0000 1.2 --- TuneInfo.cpp 20 Feb 2003 07:53:39 -0000 1.3 *************** *** 30,34 **** { *pVal = m_TuneRequest; ! (*pVal)->AddRef(); return S_OK; --- 30,37 ---- { *pVal = m_TuneRequest; ! if(m_TuneRequest != NULL) ! { ! (*pVal)->AddRef(); ! } return S_OK; *************** *** 38,41 **** --- 41,48 ---- { m_TuneRequest = newVal; + if(m_TuneRequest != NULL) + { + m_TuneRequest->AddRef(); + } return S_OK; } *************** *** 81,84 **** --- 88,94 ---- // // $Log$ + // Revision 1.3 2003/02/20 07:53:39 adcockj + // Fixes to crashing problems + // // Revision 1.2 2003/02/19 17:21:42 adcockj // removed midl generated file Index: TuneInfo.h =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneInfo.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TuneInfo.h 19 Feb 2003 17:21:42 -0000 1.2 --- TuneInfo.h 20 Feb 2003 07:53:39 -0000 1.3 *************** *** 35,38 **** --- 35,48 ---- CTuneInfo() { + m_TuneRequest = NULL; + m_bRequiresSave = TRUE; + } + + ~CTuneInfo() + { + if(m_TuneRequest != NULL) + { + m_TuneRequest->Release(); + } m_bRequiresSave = TRUE; } *************** *** 45,48 **** --- 55,59 ---- COM_INTERFACE_ENTRY(ITuneInfo) COM_INTERFACE_ENTRY(IDispatch) + COM_INTERFACE_ENTRY(IPersistPropertyBag) END_COM_MAP() *************** *** 68,72 **** private: ! CComPtr<ITuneRequest> m_TuneRequest; CComBSTR m_Description; CComBSTR m_UniqueID; --- 79,83 ---- private: ! ITuneRequest* m_TuneRequest; CComBSTR m_Description; CComBSTR m_UniqueID; Index: TuneRequestStore.cpp =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneRequestStore.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TuneRequestStore.cpp 19 Feb 2003 17:21:43 -0000 1.5 --- TuneRequestStore.cpp 20 Feb 2003 07:53:39 -0000 1.6 *************** *** 560,563 **** --- 560,568 ---- CHECK(m_doc->selectSingleNode(CComBSTR(L"//Object"), &node)); + if(node == NULL) + { + return E_FAIL; + } + CComPtr<xml::IXMLDOMElement> pElem; CHECK(node->QueryInterface(&pElem)); *************** *** 622,625 **** --- 627,631 ---- } } + BaseFilter.Release(); } } *************** *** 677,681 **** Result = TuneRequestInfo->CreateComponentList(TuneRequest); ! CHECK(Result); CComPtr<IEnumGuideDataProperties> EnumGuideDataProperties; --- 683,688 ---- Result = TuneRequestInfo->CreateComponentList(TuneRequest); ! //don't check this as it seems to return rubbish ! //CHECK(TuneRequest); CComPtr<IEnumGuideDataProperties> EnumGuideDataProperties; *************** *** 690,696 **** while (EnumGuideDataProperties->Next(1, &GuideDataProperty, &Items) == S_OK) { ! BSTR PropertyName; ! GuideDataProperty->get_Name(&PropertyName); ! if(wcsicmp(Name, L"Description.ID") == 0) { CComVariant Variant; --- 697,703 ---- while (EnumGuideDataProperties->Next(1, &GuideDataProperty, &Items) == S_OK) { ! BSTR PropertyName = NULL; ! Result = GuideDataProperty->get_Name(&PropertyName); ! if(PropertyName != NULL && wcsicmp(PropertyName, L"Description.ID") == 0) { CComVariant Variant; *************** *** 698,702 **** Id = (BSTR)Variant.bstrVal; } ! else if(wcsicmp(Name, L"Description.ID") == 0) { CComVariant Variant; --- 705,709 ---- Id = (BSTR)Variant.bstrVal; } ! else if(PropertyName != NULL && wcsicmp(PropertyName, L"Provider.Name") == 0) { CComVariant Variant; *************** *** 704,707 **** --- 711,719 ---- Name = (BSTR)Variant.bstrVal; } + if(PropertyName != NULL) + { + SysFreeString(PropertyName); + } + GuideDataProperty.Release(); } if(Id.Length() > 0 && Name.Length() > 0) *************** *** 715,718 **** --- 727,731 ---- CHECK(Result); } + TuneRequest.Release(); } } *************** *** 724,727 **** --- 737,741 ---- { ATLTRACE("ServiceChanged\n"); + ProgramChanged(varServiceDescriptionID); return S_OK; } *************** *** 794,797 **** --- 808,814 ---- // // $Log$ + // Revision 1.6 2003/02/20 07:53:39 adcockj + // Fixes to crashing problems + // // Revision 1.5 2003/02/19 17:21:43 adcockj // removed midl generated file Index: TuneRequestStore.h =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneRequestStore.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TuneRequestStore.h 19 Feb 2003 17:21:43 -0000 1.4 --- TuneRequestStore.h 20 Feb 2003 07:53:39 -0000 1.5 *************** *** 47,50 **** --- 47,51 ---- COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(IPropertyBag) + COM_INTERFACE_ENTRY(IGuideDataEvent) END_COM_MAP() |