From 75c5630dbc7919f7bab758d698a928a0f2d79a9b Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Tue, 8 Jul 2025 11:15:54 +0200 Subject: [PATCH] Common: Require explicit handle validation Using operator bool() hid ambiguity when handle was polymorfic with bool. Using operator!() reqired !! to test for validity which results in awkward code. Signed-off-by: Simon Rozman --- include/WinStd/BCrypt.h | 2 +- include/WinStd/COM.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/WinStd/BCrypt.h b/include/WinStd/BCrypt.h index edb31ea4..2395a0af 100644 --- a/include/WinStd/BCrypt.h +++ b/include/WinStd/BCrypt.h @@ -125,7 +125,7 @@ namespace winstd if (this != std::addressof(h)) { if (m_h != invalid) free_internal(); - if (h) + if (h.valid()) duplicate_internal(h); else m_h = invalid; diff --git a/include/WinStd/COM.h b/include/WinStd/COM.h index ba8429be..bbd7eb0c 100644 --- a/include/WinStd/COM.h +++ b/include/WinStd/COM.h @@ -1665,7 +1665,7 @@ namespace winstd }; sa = SafeArrayCreate(VT_VARIANT, _countof(dim), dim); } - if (!sa) + if (!sa.valid()) throw std::bad_alloc(); assert(SafeArrayGetElemsize(sa) == sizeof(VARIANT));