From 6e774e79e1e747464f61e0d756c1fd07ed9ad777 Mon Sep 17 00:00:00 2001 From: simonb Date: Fri, 15 Apr 2005 00:39:54 +0000 Subject: fix a few drawwing issues, esp menu opening offscreen --- ChangeLog | 4 ++++ src/FbTk/Menu.cc | 21 ++++++++++----------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index d5deeb4..a8ee190 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ (Format: Year/Month/Day) Changes for 0.9.13 +*05/04/15: + * Fixed a few drawing bugs created by last patch (Simon) + (titlebar no clear on resize, menu opening offscreen...) + Menu.cc FbWinFrame.cc *05/04/11: * Rework lots of stuff relating to transparency, esp menus+frame (Simon) + Massively reduce pixmap memory usage (view with xrestop) diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc index 370afb8..a4aed46 100644 --- a/src/FbTk/Menu.cc +++ b/src/FbTk/Menu.cc @@ -388,10 +388,6 @@ void Menu::enableTitle() { } void Menu::updateMenu(int active_index) { - if (!m_visible) { - m_need_update = true; - return; - } if (m_title_vis) { menu.item_w = theme().titleFont().textWidth(menu.label.c_str(), menu.label.size()); @@ -425,9 +421,6 @@ void Menu::updateMenu(int active_index) { menu.persub = 0; } - if (menu.frame.alpha() != alpha()) - menu.frame.setAlpha(alpha()); - int itmp = (theme().itemHeight() * menu.persub); menu.frame_h = itmp < 1 ? 1 : itmp; @@ -448,8 +441,16 @@ void Menu::updateMenu(int active_index) { if (new_height < 1) new_height = 1; + // must update main window size whether visible or not + // the rest can wait until the end menu.window.resize(new_width, new_height); + if (!m_visible) + return; + + if (menu.frame.alpha() != alpha()) + menu.frame.setAlpha(alpha()); + Pixmap tmp = 0; if (m_title_vis && m_need_update) { tmp = menu.title_pixmap; @@ -1267,10 +1268,8 @@ void Menu::reconfigure() { menu.window.setBorderWidth(theme().borderWidth()); menu.title.setBorderWidth(theme().borderWidth()); - - if (m_visible) { - updateMenu(); - } + + updateMenu(); } -- cgit v0.11.2