[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

hausmann at webkit.org hausmann at webkit.org
Thu Oct 29 20:40:01 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 5777dfb36fb98b0979598a211af9fc92c46823ce
Author: hausmann at webkit.org <hausmann at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 6 11:53:06 2009 +0000

    [Qt] Windowless plugins: Enable painting on printer.
    
    Patch by Girish Ramakrishnan <girish at forwardbias.in> on 2009-10-06
    Reviewed by Simon Hausmann.
    
    The print preview dialog crashed because the depth of the drawable
    changed owing to a bug in Qt - if you draw onto a 32-bit pixmap,
    and set a 24-bit pixmap as source, it will convert the source to
    32-bit.
    
    1210fa5b2d65895ad2be1f9ca7cae586e3b29dc1 is the bug fix in Qt.
    
    https://bugs.webkit.org/show_bug.cgi?id=20081
    
    * plugins/qt/PluginViewQt.cpp:
    (WebCore::PluginView::paint):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4996b56..fd518da 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,24 @@
 
         Reviewed by Simon Hausmann.
 
+        [Qt] Windowless plugins: Enable painting on printer.
+
+        The print preview dialog crashed because the depth of the drawable
+        changed owing to a bug in Qt - if you draw onto a 32-bit pixmap,
+        and set a 24-bit pixmap as source, it will convert the source to
+        32-bit.
+
+        1210fa5b2d65895ad2be1f9ca7cae586e3b29dc1 is the bug fix in Qt.
+
+        https://bugs.webkit.org/show_bug.cgi?id=20081
+
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::PluginView::paint):
+
+2009-10-06  Girish Ramakrishnan  <girish at forwardbias.in>
+
+        Reviewed by Simon Hausmann.
+
         [Qt] Windowless plugins: Make painting and events work when page is zoomed.
 
         The element gets resized when zoomed. So, we have to make sure that we resize
diff --git a/WebCore/plugins/qt/PluginViewQt.cpp b/WebCore/plugins/qt/PluginViewQt.cpp
index 9602101..f11fa66 100644
--- a/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/WebCore/plugins/qt/PluginViewQt.cpp
@@ -170,15 +170,12 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
 
     setNPWindowIfNeeded();
 
-    if (m_isWindowed)
+    if (m_isWindowed || !m_drawable)
         return;
 
     const bool syncX = m_pluginDisplay && m_pluginDisplay != QX11Info::display();
 
     QPainter* painter = context->platformContext();
-    const bool isPaintingOnWidget = painter->device()->devType() == QInternal::Widget;
-    if (!isPaintingOnWidget || !m_drawable)
-        return;
 
     QPixmap qtDrawable = QPixmap::fromX11Pixmap(m_drawable, QPixmap::ExplicitlyShared);
     const int drawableDepth = ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list