summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2008-02-25 13:09:30 +0000
committerMatthias Melcher <fltk@matthiasm.com>2008-02-25 13:09:30 +0000
commitac55d8490cb5d0f2b4bbbd30e2d75089b4fcd01e (patch)
tree5389a5fea93cbacbb84c23a27b9739b3f0da7e3e /src
parentfc60a90a6716994362b2e5548bb9be393feec2a1 (diff)
Fixed Tab key to wrap around menu bars (STR #1877)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6043 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Menu.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx
index 703f2ec39..18a847e12 100644
--- a/src/Fl_Menu.cxx
+++ b/src/Fl_Menu.cxx
@@ -634,8 +634,14 @@ int menuwindow::early_hide_handle(int e) {
case FL_Tab:
if (Fl::event_shift()) goto BACKTAB;
case FL_Down:
- if (pp.menu_number || !pp.menubar) forward(pp.menu_number);
- else if (pp.menu_number < pp.nummenus-1) forward(pp.menu_number+1);
+ if (pp.menu_number || !pp.menubar) {
+ if (!forward(pp.menu_number) && Fl::event_key()==FL_Tab) {
+ pp.item_number = -1;
+ forward(pp.menu_number);
+ }
+ } else if (pp.menu_number < pp.nummenus-1) {
+ forward(pp.menu_number+1);
+ }
return 1;
case FL_Right:
if (pp.menubar && (pp.menu_number<=0 || pp.menu_number==1 && pp.nummenus==2))