]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/textctrl.cpp
attempt to fix another occurence of WS_EX_CONTROLPARENT-related infinite loop
[wxWidgets.git] / src / mac / carbon / textctrl.cpp
index 19bee0ff660adc519f6fb926ec3e1a30aa1c5ccc..50daa9708f5015097acb48c4e05a28bc64ccb6d5 100644 (file)
@@ -1636,7 +1636,6 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
         if ( m_macUsesTXN && wxTheApp->MacGetCurrentEvent() != NULL && wxTheApp->MacGetCurrentEventHandlerCallRef() != NULL )
             CallNextEventHandler((EventHandlerCallRef)wxTheApp->MacGetCurrentEventHandlerCallRef() , (EventRef) wxTheApp->MacGetCurrentEvent() ) ;
         else 
-#endif
         {
             EventRecord rec ;
             if ( wxMacConvertEventToRecord(  (EventRef) wxTheApp->MacGetCurrentEvent() , &rec ) )
@@ -1650,6 +1649,15 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
                 ::HandleControlKey( (ControlHandle) m_macControl , keycode , keychar , ev->modifiers ) ;
             }
         }
+#else
+        EventRecord *ev = (EventRecord*) wxTheApp->MacGetCurrentEvent() ;
+        short keycode ;
+        short keychar ;
+        keychar = short(ev->message & charCodeMask);
+        keycode = short(ev->message & keyCodeMask) >> 8 ;
+
+        ::HandleControlKey( (ControlHandle) m_macControl , keycode , keychar , ev->modifiers ) ;
+#endif
     }
     if ( ( key >= 0x20 && key < WXK_START ) ||
          key == WXK_RETURN ||