summaryrefslogtreecommitdiff
path: root/src/Fl_Browser.cxx
diff options
context:
space:
mode:
authorMatthias Melcher <git@matthiasm.com>2018-12-29 02:03:49 +0100
committerMatthias Melcher <git@matthiasm.com>2018-12-29 02:03:49 +0100
commit95ab1dd73e9c5ea845ce03340b2861ea8a652b7e (patch)
tree6b8e9214f8e7c3eaf5a1dbf9524d25dc110a6730 /src/Fl_Browser.cxx
parent29fe0c43df7bad2df0f4445994b9d5d851bc2cdb (diff)
Fixing STR #2901, wrongly escaping the formatting character code in Fl_Browser.
Diffstat (limited to 'src/Fl_Browser.cxx')
-rw-r--r--src/Fl_Browser.cxx9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/Fl_Browser.cxx b/src/Fl_Browser.cxx
index 7621c6598..375d3ad33 100644
--- a/src/Fl_Browser.cxx
+++ b/src/Fl_Browser.cxx
@@ -378,8 +378,7 @@ int Fl_Browser::item_height(void *item) const {
Fl_Font font = textfont(); // default font
int tsize = textsize(); // default size
if ( format_char() ) { // can be NULL
- while (*str==format_char()) {
- str++;
+ while (*str==format_char() && *str++ && *str!=format_char()) {
switch (*str++) {
case 'l': case 'L': tsize = 24; break;
case 'm': case 'M': tsize = 18; break;
@@ -391,7 +390,6 @@ int Fl_Browser::item_height(void *item) const {
case 'C': while (isdigit(*str & 255)) str++; break; // skip a color number
case 'F': font = (Fl_Font)strtol(str,&str,10); break;
case 'S': tsize = strtol(str,&str,10); break;
- case 0: case '@': str--;
case '.': goto END_FORMAT;
}
}
@@ -458,9 +456,6 @@ int Fl_Browser::item_width(void *item) const {
case '.':
done = 1;
break;
- case '@':
- str--;
- done = 1;
}
if (done)
@@ -578,8 +573,6 @@ void Fl_Browser::item_draw(void* item, int X, int Y, int W, int H) const {
break;
case '.':
goto BREAK;
- case '@':
- str--; goto BREAK;
}
}
}