Title: [116862] trunk/Source/WebKit/wx
Revision
116862
Author
[email protected]
Date
2012-05-12 18:40:30 -0700 (Sat, 12 May 2012)

Log Message

[wx] Fix backing bitmap creation under wxMSW.
https://bugs.webkit.org/show_bug.cgi?id=86304

Reviewed by Kevin Ollivier.

Modified Paths

Diff

Modified: trunk/Source/WebKit/wx/ChangeLog (116861 => 116862)


--- trunk/Source/WebKit/wx/ChangeLog	2012-05-12 19:23:41 UTC (rev 116861)
+++ trunk/Source/WebKit/wx/ChangeLog	2012-05-13 01:40:30 UTC (rev 116862)
@@ -1,3 +1,13 @@
+2012-05-11  Robin Dunn  <[email protected]>
+
+        [wx] Fix backing bitmap creation under wxMSW.
+        https://bugs.webkit.org/show_bug.cgi?id=86304
+
+        Reviewed by Kevin Ollivier.
+
+        * WebView.cpp:
+        (WebKit::WebView::OnPaint):
+
 2012-05-04  Nate Chapin  <[email protected]>
 
         Don't require FrameLoaderClient to manufacture a commitData() call for empty documents.

Modified: trunk/Source/WebKit/wx/WebView.cpp (116861 => 116862)


--- trunk/Source/WebKit/wx/WebView.cpp	2012-05-12 19:23:41 UTC (rev 116861)
+++ trunk/Source/WebKit/wx/WebView.cpp	2012-05-13 01:40:30 UTC (rev 116862)
@@ -690,9 +690,19 @@
     WebCore::Frame* frame = m_mainFrame->GetFrame();
     if (!frame || !frame->view())
         return;
-    
-    wxAutoBufferedPaintDC dc(this);
 
+    // we can't use wxAutoBufferedPaintDC here because it will not create 
+    // a 32-bit bitmap for its buffer.
+#if __WXMSW__
+    wxPaintDC paintdc(this);
+    int width, height;
+    paintdc.GetSize(&width, &height);
+    wxBitmap bitmap(width, height, 32);
+    wxMemoryDC dc(bitmap);
+#else
+    wxPaintDC dc(this);
+#endif
+
     if (IsShown() && frame->document()) {
 #if USE(WXGC)
 #if wxCHECK_VERSION(2, 9, 2) && defined(wxUSE_CAIRO) && wxUSE_CAIRO
@@ -717,6 +727,10 @@
             if (frame->contentRenderer()) {
                 frame->view()->updateLayoutAndStyleIfNeededRecursive();
                 frame->view()->paint(&gc, paintRect);
+#if __WXMSW__
+                dc.SelectObject(wxNullBitmap);
+                paintdc.DrawBitmap(bitmap, 0, 0);
+#endif
             }
         }
     }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to