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
This commit is contained in:
parent
a48c6dd545
commit
e6399f8f37
@ -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;
|
||||
|
||||
@ -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];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user