aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2004-04-18 17:46:32 (GMT)
committerfluxgen <fluxgen>2004-04-18 17:46:32 (GMT)
commit13d2dd13832c750fb9135411b99075c0117789de (patch)
treeef4f0e9f1838849110f0aea741570cd2b5e43853
parentf532d212238a5f392ca64a98973a2fc86cc1115f (diff)
downloadfluxbox-13d2dd13832c750fb9135411b99075c0117789de.zip
fluxbox-13d2dd13832c750fb9135411b99075c0117789de.tar.bz2
fixed drawing issue with big menus, patch from Mathias Gumz
-rw-r--r--src/FbTk/Menu.cc21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc
index ab4fd19..4b59041 100644
--- a/src/FbTk/Menu.cc
+++ b/src/FbTk/Menu.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Menu.cc,v 1.57 2004/04/14 14:02:41 fluxgen Exp $ 25// $Id: Menu.cc,v 1.58 2004/04/18 17:46:32 fluxgen Exp $
26 26
27//use GNU extensions 27//use GNU extensions
28#ifndef _GNU_SOURCE 28#ifndef _GNU_SOURCE
@@ -502,9 +502,24 @@ void Menu::update(int active_index) {
502 menu.frame.window()<<", "<<menu.frame.width()<<", "<< 502 menu.frame.window()<<", "<<menu.frame.width()<<", "<<
503 menu.frame.height()<< 503 menu.frame.height()<<
504 ", "<<attr.depth<<") !"<<endl; 504 ", "<<attr.depth<<") !"<<endl;
505 } 505 } else if (menu.sublevels > 0 && menu.persub * menu.sublevels != menuitems.size()) {
506 506
507 // TODO: fill only that part of the menuframe with the
508 // pixmap/color, that has actually NO buttons on it
509 FbTk::GContext def_gc(menu.frame.window());
510 if (menu.frame_pixmap == 0) {
511 def_gc.setForeground(m_theme.frameTexture().color());
512 m_frame_pm.fillRectangle(def_gc.gc(),
513 0, 0,
514 width(), menu.frame_h);
507 515
516 } else {
517 m_frame_pm.copyArea(menu.frame_pixmap, def_gc.gc(),
518 0, 0,
519 0, 0,
520 width(), menu.frame_h);
521 }
522 }
508 } 523 }
509 524
510 menu.frame.setBackgroundPixmap(m_frame_pm.drawable()); 525 menu.frame.setBackgroundPixmap(m_frame_pm.drawable());