diff options
Diffstat (limited to 'src/desktop/reserved/ReservedArea.cpp')
| -rw-r--r-- | src/desktop/reserved/ReservedArea.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/desktop/reserved/ReservedArea.cpp b/src/desktop/reserved/ReservedArea.cpp index 8b4956dd..103beae3 100644 --- a/src/desktop/reserved/ReservedArea.cpp +++ b/src/desktop/reserved/ReservedArea.cpp @@ -1,5 +1,6 @@ #include "ReservedArea.hpp" #include "../../macros.hpp" +#include "../../debug/log/Logger.hpp" using namespace Desktop; @@ -19,8 +20,15 @@ CReservedArea::CReservedArea(const CBox& parent, const CBox& child) { if (parent.empty() || child.empty()) return; // empty reserved area - ASSERT(parent.containsPoint(child.pos() + Vector2D{0.0001, 0.0001})); - ASSERT(parent.containsPoint(child.pos() + child.size() - Vector2D{0.0001, 0.0001})); + if (!parent.containsPoint(child.pos() + Vector2D{0.0001, 0.0001}) // + || !parent.containsPoint(child.pos() + child.size() - Vector2D{0.0001, 0.0001})) { + + Log::logger->log(Log::ERR, "CReservedArea: attempted to create a reserved area from parent [{}, {}] and child [{}, {}] which is invalid", parent.pos(), parent.size(), + child.pos(), child.size()); + + m_ok = false; + return; + } m_initialTopLeft = child.pos() - parent.pos(); m_initialBottomRight = (parent.pos() + parent.size()) - (child.pos() + child.size()); @@ -28,6 +36,10 @@ CReservedArea::CReservedArea(const CBox& parent, const CBox& child) { calculate(); } +bool CReservedArea::ok() const { + return m_ok; +} + void CReservedArea::calculate() { m_bottomRight = m_initialBottomRight; m_topLeft = m_initialTopLeft; |
