[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

kocienda kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:14:14 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 48b9587c48167eb1ef5f7284e085ac29c0ede1ff
Author: kocienda <kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Nov 20 21:01:35 2003 +0000

            Reviewed by David
    
    	Fix for this bug:
    
    	<rdar://problem/3487421>: crash/exception when tabbing to a link without text
    
            * khtml/html/html_inlineimpl.cpp:
            (HTMLAnchorElementImpl::isFocusable): A link is also not focusable
    	if it has zero width or height, if it has no children, or if it is
    	is not a continuation.
            * kwq/KWQPainter.mm:
            (QPainter::drawFocusRing): Put in a guard against trying to draw a focus
            ring with no control points. Log this as an error.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 54c2ea7..742ef8e 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,19 @@
+2003-11-20  Ken Kocienda  <kocienda at apple.com>
+
+        Reviewed by David
+
+	Fix for this bug:
+
+	<rdar://problem/3487421>: crash/exception when tabbing to a link without text
+
+        * khtml/html/html_inlineimpl.cpp:
+        (HTMLAnchorElementImpl::isFocusable): A link is also not focusable 
+	if it has zero width or height, if it has no children, or if it is 
+	is not a continuation.
+        * kwq/KWQPainter.mm:
+        (QPainter::drawFocusRing): Put in a guard against trying to draw a focus
+        ring with no control points. Log this as an error.
+
 2003-11-19  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3486963, crash because generated content was referencing a deleted object.  Fix is to update the
diff --git a/WebCore/khtml/html/html_inlineimpl.cpp b/WebCore/khtml/html/html_inlineimpl.cpp
index 81eee34..9695575 100644
--- a/WebCore/khtml/html/html_inlineimpl.cpp
+++ b/WebCore/khtml/html/html_inlineimpl.cpp
@@ -57,7 +57,9 @@ bool HTMLAnchorElementImpl::isFocusable() const
 {
     return m_hasAnchor && 
         m_render && 
-        m_render->style() && m_render->style()->visibility() == VISIBLE;
+        m_render->style() && m_render->style()->visibility() == VISIBLE &&
+        (m_render->width() > 0 && m_render->height() > 0) && 
+        (m_render->firstChild() || m_render->continuation());
 }
 
 bool HTMLAnchorElementImpl::isMouseFocusable() const
diff --git a/WebCore/kwq/KWQPainter.mm b/WebCore/kwq/KWQPainter.mm
index c711e9d..f4904a1 100644
--- a/WebCore/kwq/KWQPainter.mm
+++ b/WebCore/kwq/KWQPainter.mm
@@ -720,6 +720,11 @@ void QPainter::drawFocusRing()
     if (data->state.paintingDisabled)
         return;
 
+    if ([data->focusRingPath elementCount] == 0) {
+        ERROR("Request to draw focus ring with no control points");
+        return;
+    }
+    
     NSRect bounds = [data->focusRingPath bounds];
     if (!NSIsEmptyRect(bounds)) {
         int radius = (data->focusRingWidth-1)/2;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list