]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/toplevel.cpp
Adapted printing samples makefiles.
[wxWidgets.git] / src / gtk1 / toplevel.cpp
index f6761890955e249842f22d5e5ff0634113facd42..a622a7e248ddb5c153a9a510dfb52595d27650d0 100644 (file)
@@ -134,13 +134,16 @@ 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 FALSE;
 }
@@ -427,10 +430,6 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
     //     e.g. in wxTaskBarIconAreaGTK
     if (m_widget == NULL)
     {
-        GtkWindowType win_type = GTK_WINDOW_TOPLEVEL;
-        if (style & wxFRAME_TOOL_WINDOW)
-            win_type = GTK_WINDOW_POPUP;
-
         if (GetExtraStyle() & wxTOPLEVEL_EX_DIALOG)
         {
 #ifdef __WXGTK20__
@@ -447,7 +446,13 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
         }
         else
         {
-            m_widget = gtk_window_new(win_type);
+            m_widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+#ifdef __WXGTK20__        
+            if (style & wxFRAME_TOOL_WINDOW)
+                gtk_window_set_type_hint(GTK_WINDOW(m_widget),
+                                         GDK_WINDOW_TYPE_HINT_UTILITY);
+#endif
+
         }
     }