diff options
| author | Zufu Liu <unknown> | 2020-06-15 10:20:23 +1000 |
|---|---|---|
| committer | Zufu Liu <unknown> | 2020-06-15 10:20:23 +1000 |
| commit | 7bdbad1346fa2d34ab37d7fd7d1574b78f879b6f (patch) | |
| tree | cdc2677d03875b4604fb661c3ad2f5f50ca3d921 /win32/PlatWin.cxx | |
| parent | 5ebd653f630d2f37c696f7f6928de4fa133b8486 (diff) | |
| download | scintilla-mirror-7bdbad1346fa2d34ab37d7fd7d1574b78f879b6f.tar.gz | |
Backport: Use ReleaseUnknown to extend noexcept over finalisation.
Backport of changeset 8305:986abc429f9a.
Diffstat (limited to 'win32/PlatWin.cxx')
| -rw-r--r-- | win32/PlatWin.cxx | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx index 11dc5d3ed..080b03fc9 100644 --- a/win32/PlatWin.cxx +++ b/win32/PlatWin.cxx @@ -1332,9 +1332,8 @@ void SurfaceD2D::D2DPenColour(ColourDesired fore, int alpha) { pBrush->SetColor(col); } else { const HRESULT hr = pRenderTarget->CreateSolidColorBrush(col, &pBrush); - if (!SUCCEEDED(hr) && pBrush) { - pBrush->Release(); - pBrush = nullptr; + if (!SUCCEEDED(hr)) { + ReleaseUnknown(pBrush); } } } @@ -3098,32 +3097,20 @@ void Platform_Initialise(void *hInstance) { ListBoxX_Register(); } -void Platform_Finalise(bool fromDllMain) { +void Platform_Finalise(bool fromDllMain) noexcept { #if defined(USE_D2D) if (!fromDllMain) { - if (defaultRenderingParams) { - defaultRenderingParams->Release(); - defaultRenderingParams = nullptr; - } - if (customClearTypeRenderingParams) { - customClearTypeRenderingParams->Release(); - customClearTypeRenderingParams = nullptr; - } - if (pIDWriteFactory) { - pIDWriteFactory->Release(); - pIDWriteFactory = nullptr; - } - if (pD2DFactory) { - pD2DFactory->Release(); - pD2DFactory = nullptr; - } + ReleaseUnknown(defaultRenderingParams); + ReleaseUnknown(customClearTypeRenderingParams); + ReleaseUnknown(pIDWriteFactory); + ReleaseUnknown(pD2DFactory); if (hDLLDWrite) { FreeLibrary(hDLLDWrite); - hDLLDWrite = NULL; + hDLLDWrite = {}; } if (hDLLD2D) { FreeLibrary(hDLLD2D); - hDLLD2D = NULL; + hDLLD2D = {}; } } #endif |
