fixing a possible NULL ptr exception when dispatching key events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1823,6 +1823,9 @@ void wxApp::MacHandleKeyDownEvent( WXEVENTREF evr )
|
||||
|
||||
bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey )
|
||||
{
|
||||
if ( !focus )
|
||||
return false ;
|
||||
|
||||
short keycode ;
|
||||
short keychar ;
|
||||
keychar = short(keymessage & charCodeMask);
|
||||
@@ -1959,6 +1962,9 @@ void wxApp::MacHandleKeyUpEvent( WXEVENTREF evr )
|
||||
|
||||
bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey )
|
||||
{
|
||||
if ( !focus )
|
||||
return false ;
|
||||
|
||||
short keycode ;
|
||||
short keychar ;
|
||||
keychar = short(keymessage & charCodeMask);
|
||||
@@ -1975,24 +1981,20 @@ bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifier
|
||||
long keyval = wxMacTranslateKey(keychar, keycode) ;
|
||||
|
||||
bool handled = false ;
|
||||
if ( focus )
|
||||
{
|
||||
wxKeyEvent event(wxEVT_KEY_UP);
|
||||
event.m_shiftDown = modifiers & shiftKey;
|
||||
event.m_controlDown = modifiers & controlKey;
|
||||
event.m_altDown = modifiers & optionKey;
|
||||
event.m_metaDown = modifiers & cmdKey;
|
||||
if ( event.m_controlDown )
|
||||
{
|
||||
}
|
||||
event.m_keyCode = wxToupper(keyval );
|
||||
|
||||
event.m_x = wherex;
|
||||
event.m_y = wherey;
|
||||
event.m_timeStamp = when;
|
||||
event.SetEventObject(focus);
|
||||
handled = focus->GetEventHandler()->ProcessEvent( event ) ;
|
||||
}
|
||||
wxKeyEvent event(wxEVT_KEY_UP);
|
||||
event.m_shiftDown = modifiers & shiftKey;
|
||||
event.m_controlDown = modifiers & controlKey;
|
||||
event.m_altDown = modifiers & optionKey;
|
||||
event.m_metaDown = modifiers & cmdKey;
|
||||
event.m_keyCode = wxToupper(keyval );
|
||||
|
||||
event.m_x = wherex;
|
||||
event.m_y = wherey;
|
||||
event.m_timeStamp = when;
|
||||
event.SetEventObject(focus);
|
||||
handled = focus->GetEventHandler()->ProcessEvent( event ) ;
|
||||
|
||||
return handled ;
|
||||
}
|
||||
void wxApp::MacHandleActivateEvent( WXEVENTREF evr )
|
||||
|
@@ -1823,6 +1823,9 @@ void wxApp::MacHandleKeyDownEvent( WXEVENTREF evr )
|
||||
|
||||
bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey )
|
||||
{
|
||||
if ( !focus )
|
||||
return false ;
|
||||
|
||||
short keycode ;
|
||||
short keychar ;
|
||||
keychar = short(keymessage & charCodeMask);
|
||||
@@ -1959,6 +1962,9 @@ void wxApp::MacHandleKeyUpEvent( WXEVENTREF evr )
|
||||
|
||||
bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey )
|
||||
{
|
||||
if ( !focus )
|
||||
return false ;
|
||||
|
||||
short keycode ;
|
||||
short keychar ;
|
||||
keychar = short(keymessage & charCodeMask);
|
||||
@@ -1975,24 +1981,20 @@ bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifier
|
||||
long keyval = wxMacTranslateKey(keychar, keycode) ;
|
||||
|
||||
bool handled = false ;
|
||||
if ( focus )
|
||||
{
|
||||
wxKeyEvent event(wxEVT_KEY_UP);
|
||||
event.m_shiftDown = modifiers & shiftKey;
|
||||
event.m_controlDown = modifiers & controlKey;
|
||||
event.m_altDown = modifiers & optionKey;
|
||||
event.m_metaDown = modifiers & cmdKey;
|
||||
if ( event.m_controlDown )
|
||||
{
|
||||
}
|
||||
event.m_keyCode = wxToupper(keyval );
|
||||
|
||||
event.m_x = wherex;
|
||||
event.m_y = wherey;
|
||||
event.m_timeStamp = when;
|
||||
event.SetEventObject(focus);
|
||||
handled = focus->GetEventHandler()->ProcessEvent( event ) ;
|
||||
}
|
||||
wxKeyEvent event(wxEVT_KEY_UP);
|
||||
event.m_shiftDown = modifiers & shiftKey;
|
||||
event.m_controlDown = modifiers & controlKey;
|
||||
event.m_altDown = modifiers & optionKey;
|
||||
event.m_metaDown = modifiers & cmdKey;
|
||||
event.m_keyCode = wxToupper(keyval );
|
||||
|
||||
event.m_x = wherex;
|
||||
event.m_y = wherey;
|
||||
event.m_timeStamp = when;
|
||||
event.SetEventObject(focus);
|
||||
handled = focus->GetEventHandler()->ProcessEvent( event ) ;
|
||||
|
||||
return handled ;
|
||||
}
|
||||
void wxApp::MacHandleActivateEvent( WXEVENTREF evr )
|
||||
|
Reference in New Issue
Block a user