// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "toplevel.h"
#endif
#include "wx/log.h"
#include "wx/intl.h"
#include "wx/settings.h"
+ #include "wx/control.h"
#endif //WX_PRECOMP
#include "wx/mac/uma.h"
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 ;
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 )
currentMouseWindow = wxFindControlFromMacControl( control ) ;
if ( currentMouseWindow == NULL && cEvent.GetKind() == kEventMouseMoved )
{
+#if wxUSE_TOOLBAR
// for wxToolBar to function we have to send certaint events to it
// instead of its children (wxToolBarTools)
ControlRef parent ;
wxWindow *wxParent = wxFindControlFromMacControl( parent ) ;
if ( wxParent && wxParent->IsKindOf( CLASSINFO( wxToolBar ) ) )
currentMouseWindow = wxParent ;
+#endif
}
}
}