From 5525d29b9b1d517035fa440f759fa33cb8432c03 Mon Sep 17 00:00:00 2001 From: mathias Date: Mon, 22 Nov 2004 18:46:59 +0000 Subject: ensure sane values for ResizeCmd --- src/CurrentWindowCmd.cc | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/CurrentWindowCmd.cc b/src/CurrentWindowCmd.cc index 3e11812..94fc85b 100644 --- a/src/CurrentWindowCmd.cc +++ b/src/CurrentWindowCmd.cc @@ -86,14 +86,22 @@ void MoveCmd::real_execute() { } ResizeCmd::ResizeCmd(const int step_size_x, const int step_size_y) : - m_step_size_x(step_size_x), m_step_size_y(step_size_y) { } + m_step_size_x(step_size_x), m_step_size_y(step_size_y) { } +template +T max(const T& a, const T& b) { + return a >= b ? a : b; +} + void ResizeCmd::real_execute() { - fbwindow().resize( - fbwindow().width() + - m_step_size_x * fbwindow().winClient().width_inc, - fbwindow().height() + - m_step_size_y * fbwindow().winClient().height_inc); + + int w = max(static_cast(fbwindow().width() + + m_step_size_x * fbwindow().winClient().width_inc), + fbwindow().frame().titlebarHeight() * 2 + 10); + int h = max(static_cast(fbwindow().height() + + m_step_size_y * fbwindow().winClient().height_inc), + fbwindow().frame().titlebarHeight() + 10); + fbwindow().resize(w, h); } MoveToCmd::MoveToCmd(const int step_size_x, const int step_size_y) : @@ -107,5 +115,6 @@ ResizeToCmd::ResizeToCmd(const int step_size_x, const int step_size_y) : m_step_size_x(step_size_x), m_step_size_y(step_size_y) { } void ResizeToCmd::real_execute() { - fbwindow().resize(m_step_size_x, m_step_size_y); + if (m_step_size_x > 0 && m_step_size_y > 0) + fbwindow().resize(m_step_size_x, m_step_size_y); } -- cgit v0.11.2