]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/splash.cpp
Fix history in wxWebViewIE when using a custom file scheme.
[wxWidgets.git] / src / generic / splash.cpp
index a88a79d17f2ee623c8c869bdcd09e6eb05069fb8..da0795d71d0c1f01226da4640a38472d5f1afca2 100644 (file)
@@ -52,12 +52,13 @@ wxSplashScreen::wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int mil
                                const wxSize& size, long style)
     : wxFrame(parent, id, wxEmptyString, wxPoint(0,0), wxSize(100, 100), style)
 {
-    // At least for GTK+ 2.0, this hint is not available.
+    // splash screen must not be used as parent by the other windows because it
+    // is going to disappear soon, indicate it by giving it this special style
+    SetExtraStyle(GetExtraStyle() | wxWS_EX_TRANSIENT);
+
 #if defined(__WXGTK20__)
-#if GTK_CHECK_VERSION(2,2,0)
     gtk_window_set_type_hint(GTK_WINDOW(m_widget),
                              GDK_WINDOW_TYPE_HINT_SPLASHSCREEN);
-#endif
 #endif
 
     m_window = NULL;
@@ -155,7 +156,8 @@ static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int WXUNUSED(x)
 #endif // USE_PALETTE_IN_SPLASH
 
     dcMem.SelectObjectAsSource(bitmap);
-    dc.Blit(0, 0, bitmap.GetWidth(), bitmap.GetHeight(), & dcMem, 0, 0);
+    dc.Blit(0, 0, bitmap.GetWidth(), bitmap.GetHeight(), &dcMem, 0, 0, wxCOPY,
+            true /* use mask */);
     dcMem.SelectObject(wxNullBitmap);
 
 #ifdef USE_PALETTE_IN_SPLASH
@@ -169,20 +171,20 @@ static void wxDrawSplashBitmap(wxDC& dc, const wxBitmap& bitmap, int WXUNUSED(x)
 void wxSplashScreenWindow::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
     wxPaintDC dc(this);
-    if (m_bitmap.Ok())
+    if (m_bitmap.IsOk())
         wxDrawSplashBitmap(dc, m_bitmap, 0, 0);
 }
 
 void wxSplashScreenWindow::OnEraseBackground(wxEraseEvent& event)
 {
-    if (event.GetDC() && m_bitmap.Ok())
+    if (event.GetDC() && m_bitmap.IsOk())
     {
         wxDrawSplashBitmap(* event.GetDC(), m_bitmap, 0, 0);
     }
     else
     {
         wxClientDC dc(this);
-        if (m_bitmap.Ok())
+        if (m_bitmap.IsOk())
             wxDrawSplashBitmap(dc, m_bitmap, 0, 0);
     }
 }