From 8f8bba5e2098f3400ed0d3c4b54f4e3cbcef2ca3 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 3 Jul 2013 16:15:38 -0700 Subject: Avoid using results from failed calls. --- win32/ScintillaWin.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'win32') diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index a63d803fb..8c08d6ea1 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -2604,7 +2604,7 @@ STDMETHODIMP ScintillaWin::Drop(LPDATAOBJECT pIDataSource, DWORD grfKeyState, data.assign(convertedText.c_str(), convertedText.c_str()+convertedText.length()+1); } - if (data.empty()) { + if (!SUCCEEDED(hr) || data.empty()) { //Platform::DebugPrintf("Bad data format: 0x%x\n", hres); return hr; } @@ -2823,7 +2823,12 @@ sptr_t PASCAL ScintillaWin::CTWndProc( drtp.usage = D2D1_RENDER_TARGET_USAGE_NONE; drtp.minLevel = D2D1_FEATURE_LEVEL_DEFAULT; - pD2DFactory->CreateHwndRenderTarget(drtp, dhrtp, &pCTRenderTarget); + if (!SUCCEEDED(pD2DFactory->CreateHwndRenderTarget(drtp, dhrtp, &pCTRenderTarget))) { + surfaceWindow->Release(); + delete surfaceWindow; + ::EndPaint(hWnd, &ps); + return 0; + } surfaceWindow->Init(pCTRenderTarget, hWnd); pCTRenderTarget->BeginDraw(); #endif -- cgit v1.2.3