diff --git a/CHANGES b/CHANGES index 9da6b0ee5..a31a78cf8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,6 @@ CHANGES IN FLTK 1.1.10 + - Fixed Fl_Choice contrast with light-on-dark settings (STR #2219) - Added Xft2 font lookup table (STR #2215) - Fixed X server "lock", if a modal dialog window is opened while a menu is active (STR #1986) diff --git a/src/Fl_Choice.cxx b/src/Fl_Choice.cxx index f9eabde20..69176f752 100644 --- a/src/Fl_Choice.cxx +++ b/src/Fl_Choice.cxx @@ -67,7 +67,11 @@ void Fl_Choice::draw() { fl_yxline(x1 - 6, y1 - 8, y1 + 8); } } else { - draw_box(FL_DOWN_BOX, FL_BACKGROUND2_COLOR); + if (fl_contrast(textcolor(), FL_BACKGROUND2_COLOR) == textcolor()) { + draw_box(FL_DOWN_BOX, FL_BACKGROUND2_COLOR); + } else { + draw_box(FL_DOWN_BOX, fl_lighter(color())); + } draw_box(FL_UP_BOX,X,Y,W,H,color()); fl_color(active_r() ? labelcolor() : fl_inactive(labelcolor())); @@ -149,7 +153,8 @@ int Fl_Choice::handle(int e) { case FL_PUSH: if (Fl::visible_focus()) Fl::focus(this); J1: - if (Fl::scheme()) { + if (Fl::scheme() + || fl_contrast(textcolor(), FL_BACKGROUND2_COLOR) != textcolor()) { v = menu()->pulldown(x(), y(), w(), h(), mvalue(), this); } else { // In order to preserve the old look-n-feel of "white" menus,