]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied patch for keyboard control in composite
authorRobert Roebling <robert@roebling.de>
Sun, 23 Jan 2005 18:44:19 +0000 (18:44 +0000)
committerRobert Roebling <robert@roebling.de>
Sun, 23 Jan 2005 18:44:19 +0000 (18:44 +0000)
    windows as discussed in patch 1102862.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/toplevel.cpp

index f1a4f5fd6a65ecea9a213dea5e1186a0d4eae7de..1fbb44d100ce2dffced576fff61a249b5bb87fcc 100644 (file)
@@ -159,8 +159,9 @@ static pascal OSStatus TextInputEventHandler( EventHandlerCallRef handler , Even
 static pascal OSStatus KeyboardEventHandler( EventHandlerCallRef handler , EventRef event , void *data )
 {
     OSStatus result = eventNotHandledErr ;
-
-    wxWindow* focus = wxWindow::FindFocus() ;
+    // call DoFindFocus instead of FindFocus, because for Composite Windows(like WxGenericListCtrl)
+    // FindFocus does not return the actual focus window,but the enclosing window
+    wxWindow* focus = wxWindow::DoFindFocus();
     if ( focus == NULL )
         return result ;
         
@@ -212,7 +213,6 @@ static pascal OSStatus KeyboardEventHandler( EventHandlerCallRef handler , Event
                 event.m_x = point.h;
                 event.m_y = point.v;
                 event.SetTimestamp(when);
-                wxWindow* focus = wxWindow::FindFocus() ;
                 event.SetEventObject(focus);
 
                 if ( focus && (modifiers ^ wxTheApp->s_lastModifiers ) & controlKey )