From d1cd97809e80b829bb919ddf470baf93be1f85ea Mon Sep 17 00:00:00 2001 From: Andrea Blankenstijn Date: Thu, 12 Aug 2021 16:09:26 +0200 Subject: [PATCH] littles things --- inc/basic_widgets/core/type/color.hpp | 2 +- inc/basic_widgets/core/type/opaque_struct.hpp | 12 ++++-------- inc/basic_widgets/w/base/widget.hpp | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/inc/basic_widgets/core/type/color.hpp b/inc/basic_widgets/core/type/color.hpp index 74cd8cd..03ba1a2 100644 --- a/inc/basic_widgets/core/type/color.hpp +++ b/inc/basic_widgets/core/type/color.hpp @@ -102,7 +102,7 @@ namespace bwidgets template [[nodiscard]] inline auto operator/(const N& operand) const noexcept { - SDL_assert(operand != 0); // NOLINT + SDL_assert_release(operand != 0); // NOLINT return _operate(operand, [](const N& a, const N& b) { return a / b; }); } diff --git a/inc/basic_widgets/core/type/opaque_struct.hpp b/inc/basic_widgets/core/type/opaque_struct.hpp index 14a936b..40c6bf5 100644 --- a/inc/basic_widgets/core/type/opaque_struct.hpp +++ b/inc/basic_widgets/core/type/opaque_struct.hpp @@ -22,7 +22,10 @@ namespace bwidgets virtual ~OpaqueStruct() noexcept { - _deleter(_c_pod); + try { + _deleter(_c_pod); + } catch (...) { + } }; [[nodiscard]] inline auto* operator()() const @@ -40,13 +43,6 @@ namespace bwidgets Wrapper(T* ptr, const Deleter& d) : _data(ptr, d) {} }; }; - - template - void discard(Ts*&... ptrs) - { - ((delete ptrs), ...); - ((ptrs = nullptr), ...); - } } #endif diff --git a/inc/basic_widgets/w/base/widget.hpp b/inc/basic_widgets/w/base/widget.hpp index 2fa699d..024a1df 100644 --- a/inc/basic_widgets/w/base/widget.hpp +++ b/inc/basic_widgets/w/base/widget.hpp @@ -31,8 +31,8 @@ namespace bwidgets virtual ~Widget() = default; virtual auto handle_event(const SDL_Event&) -> Widget*; - [[nodiscard]] virtual auto size() const noexcept -> Size = 0; + virtual auto render() -> Widget* final; virtual auto renderer(const std::shared_ptr&) -> Widget* final; virtual auto viewport(const SDL_Rect&) -> Widget* final;