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:
Robert Roebling 2004-10-05 16:17:21 +00:00
parent a565f84b6f
commit 576f712776
4 changed files with 16 additions and 10 deletions

View File

@ -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;

View File

@ -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 );

View File

@ -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;

View File

@ -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 );