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:
@@ -87,7 +87,7 @@ static gint gtk_frame_focus_in_callback( GtkWidget *widget,
|
|||||||
{
|
{
|
||||||
if (g_isIdle)
|
if (g_isIdle)
|
||||||
wxapp_install_idle_handler();
|
wxapp_install_idle_handler();
|
||||||
|
|
||||||
switch ( g_sendActivateEvent )
|
switch ( g_sendActivateEvent )
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
@@ -112,7 +112,7 @@ static gint gtk_frame_focus_in_callback( GtkWidget *widget,
|
|||||||
event.SetEventObject(g_activeFrame);
|
event.SetEventObject(g_activeFrame);
|
||||||
g_activeFrame->GetEventHandler()->ProcessEvent(event);
|
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;
|
g_activeFrame = NULL;
|
||||||
|
|
||||||
return TRUE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -967,6 +967,9 @@ void wxTopLevelWindowGTK::OnInternalIdle()
|
|||||||
{
|
{
|
||||||
bool activate = g_sendActivateEvent != 0;
|
bool activate = g_sendActivateEvent != 0;
|
||||||
|
|
||||||
|
// if (!activate) wxPrintf( wxT("de") );
|
||||||
|
// wxPrintf( wxT("activate\n") );
|
||||||
|
|
||||||
// do it only once
|
// do it only once
|
||||||
g_sendActivateEvent = -1;
|
g_sendActivateEvent = -1;
|
||||||
|
|
||||||
|
@@ -1983,7 +1983,7 @@ static gint gtk_window_focus_in_callback( GtkWidget *widget,
|
|||||||
{
|
{
|
||||||
// not yet, notify it
|
// not yet, notify it
|
||||||
win->m_hasFocus = TRUE;
|
win->m_hasFocus = TRUE;
|
||||||
|
|
||||||
if ( DoSendFocusEvents(win) )
|
if ( DoSendFocusEvents(win) )
|
||||||
{
|
{
|
||||||
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "focus_in_event" );
|
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "focus_in_event" );
|
||||||
@@ -2826,7 +2826,7 @@ void wxWindowGTK::PostCreation()
|
|||||||
{
|
{
|
||||||
if (m_focusWidget == NULL)
|
if (m_focusWidget == NULL)
|
||||||
m_focusWidget = m_widget;
|
m_focusWidget = m_widget;
|
||||||
|
|
||||||
gtk_signal_connect( GTK_OBJECT(m_focusWidget), "focus_in_event",
|
gtk_signal_connect( GTK_OBJECT(m_focusWidget), "focus_in_event",
|
||||||
GTK_SIGNAL_FUNC(gtk_window_focus_in_callback), (gpointer)this );
|
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)
|
if (g_isIdle)
|
||||||
wxapp_install_idle_handler();
|
wxapp_install_idle_handler();
|
||||||
|
|
||||||
switch ( g_sendActivateEvent )
|
switch ( g_sendActivateEvent )
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
@@ -112,7 +112,7 @@ static gint gtk_frame_focus_in_callback( GtkWidget *widget,
|
|||||||
event.SetEventObject(g_activeFrame);
|
event.SetEventObject(g_activeFrame);
|
||||||
g_activeFrame->GetEventHandler()->ProcessEvent(event);
|
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;
|
g_activeFrame = NULL;
|
||||||
|
|
||||||
return TRUE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -967,6 +967,9 @@ void wxTopLevelWindowGTK::OnInternalIdle()
|
|||||||
{
|
{
|
||||||
bool activate = g_sendActivateEvent != 0;
|
bool activate = g_sendActivateEvent != 0;
|
||||||
|
|
||||||
|
// if (!activate) wxPrintf( wxT("de") );
|
||||||
|
// wxPrintf( wxT("activate\n") );
|
||||||
|
|
||||||
// do it only once
|
// do it only once
|
||||||
g_sendActivateEvent = -1;
|
g_sendActivateEvent = -1;
|
||||||
|
|
||||||
|
@@ -1983,7 +1983,7 @@ static gint gtk_window_focus_in_callback( GtkWidget *widget,
|
|||||||
{
|
{
|
||||||
// not yet, notify it
|
// not yet, notify it
|
||||||
win->m_hasFocus = TRUE;
|
win->m_hasFocus = TRUE;
|
||||||
|
|
||||||
if ( DoSendFocusEvents(win) )
|
if ( DoSendFocusEvents(win) )
|
||||||
{
|
{
|
||||||
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "focus_in_event" );
|
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "focus_in_event" );
|
||||||
@@ -2826,7 +2826,7 @@ void wxWindowGTK::PostCreation()
|
|||||||
{
|
{
|
||||||
if (m_focusWidget == NULL)
|
if (m_focusWidget == NULL)
|
||||||
m_focusWidget = m_widget;
|
m_focusWidget = m_widget;
|
||||||
|
|
||||||
gtk_signal_connect( GTK_OBJECT(m_focusWidget), "focus_in_event",
|
gtk_signal_connect( GTK_OBJECT(m_focusWidget), "focus_in_event",
|
||||||
GTK_SIGNAL_FUNC(gtk_window_focus_in_callback), (gpointer)this );
|
GTK_SIGNAL_FUNC(gtk_window_focus_in_callback), (gpointer)this );
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user