changeset 904:6ed34b83a741

Fixed scrollbox tab and shift tab focus shifting on OS/2.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 19 Apr 2011 04:47:38 +0000
parents db26726118ba
children ae5d884af4ed
files os2/dw.c
diffstat 1 files changed, 26 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/os2/dw.c	Tue Apr 19 04:37:48 2011 +0000
+++ b/os2/dw.c	Tue Apr 19 04:47:38 2011 +0000
@@ -591,6 +591,19 @@
                      return 1;
                }
             }
+            else if(strncmp(tmpbuf, ScrollClassName, strlen(ScrollClassName)+1)==0) /* Scrollbox */
+            {
+                /* Get the box window handle */
+                HWND mybox = (HWND)dw_window_get_data(box->items[z].hwnd, "_dw_box");
+
+                if(mybox)
+                {
+                    Box *scrollbox = (Box *)WinQueryWindowPtr(mybox, QWP_USER);
+
+                    if(scrollbox && _focus_check_box(scrollbox, handle, start == 3 ? 3 : 0, defaultitem))
+                        return 1;
+                }
+            }
          }
       }
    }
@@ -713,6 +726,19 @@
                      return 1;
                }
             }
+            else if(strncmp(tmpbuf, ScrollClassName, strlen(ScrollClassName)+1)==0) /* Scrollbox */
+            {
+                /* Get the box window handle */
+                HWND mybox = (HWND)dw_window_get_data(box->items[z].hwnd, "_dw_box");
+
+                if(mybox)
+                {
+                    Box *scrollbox = (Box *)WinQueryWindowPtr(mybox, QWP_USER);
+
+                    if(scrollbox && _focus_check_box_back(scrollbox, handle, start == 3 ? 3 : 0, defaultitem))
+                        return 1;
+                }
+            }
          }
       }
    }