summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Choice.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Fl_Choice.cxx b/src/Fl_Choice.cxx
index e44fd624e..f9eabde20 100644
--- a/src/Fl_Choice.cxx
+++ b/src/Fl_Choice.cxx
@@ -149,7 +149,16 @@ int Fl_Choice::handle(int e) {
case FL_PUSH:
if (Fl::visible_focus()) Fl::focus(this);
J1:
- v = menu()->pulldown(x(), y(), w(), h(), mvalue(), this);
+ if (Fl::scheme()) {
+ v = menu()->pulldown(x(), y(), w(), h(), mvalue(), this);
+ } else {
+ // In order to preserve the old look-n-feel of "white" menus,
+ // temporarily override the color() of this widget...
+ Fl_Color c = color();
+ color(FL_BACKGROUND2_COLOR);
+ v = menu()->pulldown(x(), y(), w(), h(), mvalue(), this);
+ color(c);
+ }
if (!v || v->submenu()) return 1;
if (v != mvalue()) redraw();
picked(v);