Fixed missing focus problem.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
a565f84b6f
commit
576f712776
@ -87,7 +87,7 @@ static gint gtk_frame_focus_in_callback( GtkWidget *widget,
|
||||
{
|
||||
if (g_isIdle)
|
||||
wxapp_install_idle_handler();
|
||||
|
||||
|
||||
switch ( g_sendActivateEvent )
|
||||
{
|
||||
case -1:
|
||||
@ -112,7 +112,7 @@ static gint gtk_frame_focus_in_callback( GtkWidget *widget,
|
||||
event.SetEventObject(g_activeFrame);
|
||||
g_activeFrame->GetEventHandler()->ProcessEvent(event);
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -142,7 +142,7 @@ static gint gtk_frame_focus_out_callback( GtkWidget *widget,
|
||||
|
||||
g_activeFrame = NULL;
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -967,6 +967,9 @@ void wxTopLevelWindowGTK::OnInternalIdle()
|
||||
{
|
||||
bool activate = g_sendActivateEvent != 0;
|
||||
|
||||
// if (!activate) wxPrintf( wxT("de") );
|
||||
// wxPrintf( wxT("activate\n") );
|
||||
|
||||
// do it only once
|
||||
g_sendActivateEvent = -1;
|
||||
|
||||
|
@ -1983,7 +1983,7 @@ static gint gtk_window_focus_in_callback( GtkWidget *widget,
|
||||
{
|
||||
// not yet, notify it
|
||||
win->m_hasFocus = TRUE;
|
||||
|
||||
|
||||
if ( DoSendFocusEvents(win) )
|
||||
{
|
||||
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "focus_in_event" );
|
||||
@ -2826,7 +2826,7 @@ void wxWindowGTK::PostCreation()
|
||||
{
|
||||
if (m_focusWidget == NULL)
|
||||
m_focusWidget = m_widget;
|
||||
|
||||
|
||||
gtk_signal_connect( GTK_OBJECT(m_focusWidget), "focus_in_event",
|
||||
GTK_SIGNAL_FUNC(gtk_window_focus_in_callback), (gpointer)this );
|
||||
|
||||
|
@ -87,7 +87,7 @@ static gint gtk_frame_focus_in_callback( GtkWidget *widget,
|
||||
{
|
||||
if (g_isIdle)
|
||||
wxapp_install_idle_handler();
|
||||
|
||||
|
||||
switch ( g_sendActivateEvent )
|
||||
{
|
||||
case -1:
|
||||
@ -112,7 +112,7 @@ static gint gtk_frame_focus_in_callback( GtkWidget *widget,
|
||||
event.SetEventObject(g_activeFrame);
|
||||
g_activeFrame->GetEventHandler()->ProcessEvent(event);
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -142,7 +142,7 @@ static gint gtk_frame_focus_out_callback( GtkWidget *widget,
|
||||
|
||||
g_activeFrame = NULL;
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -967,6 +967,9 @@ void wxTopLevelWindowGTK::OnInternalIdle()
|
||||
{
|
||||
bool activate = g_sendActivateEvent != 0;
|
||||
|
||||
// if (!activate) wxPrintf( wxT("de") );
|
||||
// wxPrintf( wxT("activate\n") );
|
||||
|
||||
// do it only once
|
||||
g_sendActivateEvent = -1;
|
||||
|
||||
|
@ -1983,7 +1983,7 @@ static gint gtk_window_focus_in_callback( GtkWidget *widget,
|
||||
{
|
||||
// not yet, notify it
|
||||
win->m_hasFocus = TRUE;
|
||||
|
||||
|
||||
if ( DoSendFocusEvents(win) )
|
||||
{
|
||||
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "focus_in_event" );
|
||||
@ -2826,7 +2826,7 @@ void wxWindowGTK::PostCreation()
|
||||
{
|
||||
if (m_focusWidget == NULL)
|
||||
m_focusWidget = m_widget;
|
||||
|
||||
|
||||
gtk_signal_connect( GTK_OBJECT(m_focusWidget), "focus_in_event",
|
||||
GTK_SIGNAL_FUNC(gtk_window_focus_in_callback), (gpointer)this );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user