--- old/prism-d3d-native/src/D3DContext.cc 2012-02-18 02:09:23.415080900 +0400 +++ new/prism-d3d-native/src/D3DContext.cc 2012-02-18 02:09:23.172067000 +0400 @@ -210,11 +210,8 @@ pd3dDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_POINT); if (pResourceMgr == NULL) { - res = D3DResourceManager::CreateInstance(this, &pResourceMgr); - } else { - res = pResourceMgr->Init(this); + pResourceMgr = D3DResourceManager::CreateInstance(this); } - RETURN_STATUS_IF_FAILED(res); D3DUtils_SetIdentityMatrix(&world); D3DUtils_SetIdentityMatrix(&projection); --- old/prism-d3d-native/src/D3DResourceManager.cc 2012-02-18 02:09:27.662323800 +0400 +++ new/prism-d3d-native/src/D3DResourceManager.cc 2012-02-18 02:09:27.428310400 +0400 @@ -166,43 +166,17 @@ } -HRESULT -D3DResourceManager::CreateInstance(D3DContext *pCtx, - D3DResourceManager** ppResourceMgr) -{ - HRESULT res; - +D3DResourceManager* D3DResourceManager::CreateInstance(D3DContext *pCtx) { TraceLn(NWT_TRACE_INFO, "D3DRM::CreateInstance"); - *ppResourceMgr = new D3DResourceManager(); - if (FAILED(res = (*ppResourceMgr)->Init(pCtx))) { - delete *ppResourceMgr; - *ppResourceMgr = NULL; - } - return res; + return new D3DResourceManager(pCtx); } -D3DResourceManager::D3DResourceManager() -{ - TraceLn(NWT_TRACE_INFO, "D3DRM::D3DRM"); - - this->pCtx = NULL; +D3DResourceManager::D3DResourceManager(D3DContext *pCtx) { + this->pCtx = pCtx; this->pHead = NULL; } -HRESULT -D3DResourceManager::Init(D3DContext *pCtx) -{ - TraceLn1(NWT_TRACE_INFO, "D3DRM::Init pCtx=%x", pCtx); - if (this->pCtx != pCtx || - (this->pCtx != NULL && - this->pCtx->Get3DDevice() != pCtx->Get3DDevice())) - { - ReleaseAll(); - } - this->pCtx = pCtx; - return S_OK; -} D3DResourceManager::~D3DResourceManager() { --- old/prism-d3d-native/src/D3DResourceManager.h 2012-02-18 02:09:31.985571100 +0400 +++ new/prism-d3d-native/src/D3DResourceManager.h 2012-02-18 02:09:31.746557400 +0400 @@ -171,13 +171,11 @@ * via the ReleaseResource() method so that they can be stopped being managed. */ class D3DResourceManager { - + public: - HRESULT Init(D3DContext *pCtx); - - // delete this instance - ~D3DResourceManager(); + // delete this instance + ~D3DResourceManager(); // Releases and deletes all resources managed by this manager. void ReleaseAll(); @@ -207,11 +205,10 @@ HRESULT CreateVertexBuffer(D3DVertexBufferResource **ppVB); -static - HRESULT CreateInstance(D3DContext *pCtx, D3DResourceManager **ppResMgr); + static D3DResourceManager* CreateInstance(D3DContext *pCtx); private: - D3DResourceManager(); + D3DResourceManager(D3DContext *pCtx); HRESULT CreateOSPSurface(UINT width, UINT height, D3DFORMAT fmt,