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  | 
