diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-10-31 14:28:47 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-10-31 14:28:47 +0100 |
| commit | ea17525b2a13595ea544485a25233ba35a6f9f3f (patch) | |
| tree | fc898f6397585411005fd1b649dfb3216372a50c /src | |
| parent | c9478191541e49351638db8a3efd262f19c700f4 (diff) | |
Window: sanitize position in set_position
Diffstat (limited to 'src')
| -rw-r--r-- | src/window.cc | 6 | ||||
| -rw-r--r-- | src/window.hh | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/window.cc b/src/window.cc index fd3be30a..1b74f341 100644 --- a/src/window.cc +++ b/src/window.cc @@ -66,6 +66,12 @@ void Window::update_display_buffer() m_display_buffer.optimize(); } +void Window::set_position(const DisplayCoord& position) +{ + m_position.line = std::max(0_line, position.line); + m_position.column = std::max(0_char, position.column); +} + void Window::set_dimensions(const DisplayCoord& dimensions) { m_dimensions = dimensions; diff --git a/src/window.hh b/src/window.hh index 79310ddb..866bb3fb 100644 --- a/src/window.hh +++ b/src/window.hh @@ -25,7 +25,7 @@ public: ~Window(); const DisplayCoord& position() const { return m_position; } - void set_position(const DisplayCoord& position) { m_position = position; } + void set_position(const DisplayCoord& position); const DisplayCoord& dimensions() const { return m_dimensions; } void set_dimensions(const DisplayCoord& dimensions); |
