From e6399f8f3711bc8757d0bb4b59af3fe7d52290a7 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Sat, 5 Mar 2005 23:01:00 +0000 Subject: Fix menu drawing... src/fl_draw.cxx: - fl_measure(): use "h" instead of "min(w,h)", since "w" is usually 0. src/Fl_Menu.cxx: - Revert previous "fix" in Fl_Menu_Item::measure() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4070 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Menu.cxx | 3 +-- src/fl_draw.cxx | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx index 61e0dd98f..a5b993db8 100644 --- a/src/Fl_Menu.cxx +++ b/src/Fl_Menu.cxx @@ -122,8 +122,7 @@ int Fl_Menu_Item::measure(int* hp, const Fl_Menu_* m) const { l.size = labelsize_ ? labelsize_ : m ? m->textsize() : (uchar)FL_NORMAL_SIZE; l.color = FL_BLACK; // this makes no difference? fl_draw_shortcut = 1; - int w = l.size; int h = l.size; - if (hp) *hp = h; + int w = 0; int h = 0; l.measure(w, hp ? *hp : h); fl_draw_shortcut = 0; if (flags & (FL_MENU_TOGGLE|FL_MENU_RADIO)) w += 14; diff --git a/src/fl_draw.cxx b/src/fl_draw.cxx index 6ff90a914..98d1b997a 100644 --- a/src/fl_draw.cxx +++ b/src/fl_draw.cxx @@ -295,12 +295,12 @@ void fl_measure(const char* str, int& w, int& h, int draw_symbols) { *symptr++ = *str++); *symptr = '\0'; if (isspace(*str)) str++; - symwidth[0] = min(w,h); + symwidth[0] = h; } if (str && (p = strrchr(str, '@')) != NULL && p > (str + 1)) { strlcpy(symbol[1], p, sizeof(symbol[1])); - symwidth[1] = min(w,h); + symwidth[1] = h; } symtotal = symwidth[0] + symwidth[1]; -- cgit v1.2.3