aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <nyamatongwe@gmail.com>2013-07-03 16:15:38 -0700
committernyamatongwe <nyamatongwe@gmail.com>2013-07-03 16:15:38 -0700
commit909eb0ed53d89a74ef7877b9e3f97cffffa163ff (patch)
tree29c840b899fabd452c5f6d5b8be5abe733a056ca
parenta2b232e2659a3543f490d45b84e7b3146e0c1f24 (diff)
downloadscintilla-mirror-909eb0ed53d89a74ef7877b9e3f97cffffa163ff.tar.gz
Avoid using results from failed calls.
-rw-r--r--win32/ScintillaWin.cxx9
1 files changed, 7 insertions, 2 deletions
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