]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/splash.cpp
Forward port of r60190 (wxMSW Cairo support) to trunk.
[wxWidgets.git] / src / generic / splash.cpp
index a88a79d17f2ee623c8c869bdcd09e6eb05069fb8..ee4512b788924dd669631f6d12a747d5758b81ca 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