]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/toplevel.cpp
Script updates
[wxWidgets.git] / src / gtk / toplevel.cpp
index 04a1777d3cfe5749293614926d7870f7b138bad8..f0258fbd24c39a2aa59f42d7771ae28435cc9379 100644 (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;
 }
 
 //-----------------------------------------------------------------------------
@@ -134,15 +134,18 @@ static gint gtk_frame_focus_out_callback( GtkWidget *widget,
     // wxASSERT_MSG( (g_activeFrame == win), wxT("TLW deactivatd although it wasn't active") );
         
     // wxPrintf( wxT("inactive: %s\n"), win->GetTitle().c_str() );
-        
-    wxLogTrace(wxT("activate"), wxT("Activating frame %p (from focus_in)"), g_activeFrame);
-    wxActivateEvent event(wxEVT_ACTIVATE, FALSE, g_activeFrame->GetId());
-    event.SetEventObject(g_activeFrame);
-    g_activeFrame->GetEventHandler()->ProcessEvent(event);
 
-    g_activeFrame = NULL;
+    if (g_activeFrame)
+    {
+        wxLogTrace(wxT("activate"), wxT("Activating frame %p (from focus_in)"), g_activeFrame);
+        wxActivateEvent event(wxEVT_ACTIVATE, FALSE, g_activeFrame->GetId());
+        event.SetEventObject(g_activeFrame);
+        g_activeFrame->GetEventHandler()->ProcessEvent(event);
+
+        g_activeFrame = NULL;
+    }
         
-    return TRUE;
+    return FALSE;
 }
 
 //-----------------------------------------------------------------------------
@@ -967,6 +970,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;