[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
hyatt
hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:51:17 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit ff339e69de5f476eaa7a122a6a487fdaf65db65b
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jul 19 21:40:43 2004 +0000
Fix for 3718697, crash clicking on JS tab at alaskaair.com.
Reviewed by kocienda
* khtml/rendering/render_flow.cpp:
(RenderFlow::detach):
(RenderFlow::dirtyLinesFromChangedChild):
* khtml/rendering/render_flow.h:
* khtml/rendering/render_object.cpp:
(RenderObject::dirtyLinesFromChangedChild):
* khtml/rendering/render_object.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 3b9cda3..96f100d 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,17 @@
+2004-07-19 David Hyatt <hyatt at apple.com>
+
+ Fix for 3718697, crash clicking on JS tab at alaskaair.com.
+
+ Reviewed by kocienda
+
+ * khtml/rendering/render_flow.cpp:
+ (RenderFlow::detach):
+ (RenderFlow::dirtyLinesFromChangedChild):
+ * khtml/rendering/render_flow.h:
+ * khtml/rendering/render_object.cpp:
+ (RenderObject::dirtyLinesFromChangedChild):
+ * khtml/rendering/render_object.h:
+
2004-07-16 David Hyatt <hyatt at apple.com>
Fix for 3726471, need to ensure that it's safe to do updateRendering from within layout, since isContentEditable
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index eee92be..ab6021a 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -182,21 +182,27 @@ void RenderFlow::deleteLineBoxes()
void RenderFlow::detach()
{
- if (!documentBeingDestroyed() && m_firstLineBox && m_firstLineBox->parent()) {
- for (InlineRunBox* box = m_firstLineBox; box; box = box->nextLineBox())
- box->parent()->removeChild(box);
+ if (!documentBeingDestroyed()) {
+ if (m_firstLineBox) {
+ if (m_firstLineBox->parent()) {
+ for (InlineRunBox* box = m_firstLineBox; box; box = box->nextLineBox())
+ box->parent()->removeChild(box);
+ }
+ }
+ else if (isInline() && parent())
+ parent()->dirtyLinesFromChangedChild(this, false);
}
deleteLineBoxes();
RenderBox::detach();
}
-void RenderFlow::dirtyLinesFromChangedChild(RenderObject* child)
+void RenderFlow::dirtyLinesFromChangedChild(RenderObject* child, bool adding)
{
if (!parent() || selfNeedsLayout() || isTable())
return;
- if (!isInline() && (!child->nextSibling() || !firstLineBox())) {
+ if (adding && !isInline() && (!child->nextSibling() || !firstLineBox())) {
// An append onto the end of a block or we don't have any lines anyway.
// In this case we don't have to dirty any specific lines.
static_cast<RenderBlock*>(this)->setLinesAppended();
diff --git a/WebCore/khtml/rendering/render_flow.h b/WebCore/khtml/rendering/render_flow.h
index 9bb6b26..7d0ec4b 100644
--- a/WebCore/khtml/rendering/render_flow.h
+++ b/WebCore/khtml/rendering/render_flow.h
@@ -62,7 +62,7 @@ public:
void deleteLineBoxes();
virtual void detach();
- virtual void dirtyLinesFromChangedChild(RenderObject* child);
+ virtual void dirtyLinesFromChangedChild(RenderObject* child, bool adding = true);
virtual short lineHeight(bool firstLine, bool isRootLineBox=false) const;
diff --git a/WebCore/khtml/rendering/render_object.cpp b/WebCore/khtml/rendering/render_object.cpp
index 66397f4..5396d49 100644
--- a/WebCore/khtml/rendering/render_object.cpp
+++ b/WebCore/khtml/rendering/render_object.cpp
@@ -1288,7 +1288,7 @@ void RenderObject::computeAbsoluteRepaintRect(QRect& r, bool f)
return parent()->computeAbsoluteRepaintRect(r, f);
}
-void RenderObject::dirtyLinesFromChangedChild(RenderObject* child)
+void RenderObject::dirtyLinesFromChangedChild(RenderObject* child, bool adding)
{
}
diff --git a/WebCore/khtml/rendering/render_object.h b/WebCore/khtml/rendering/render_object.h
index 925e263..6e71dc7 100644
--- a/WebCore/khtml/rendering/render_object.h
+++ b/WebCore/khtml/rendering/render_object.h
@@ -488,7 +488,7 @@ public:
virtual DOM::Position positionForCoordinates(int x, int y);
- virtual void dirtyLinesFromChangedChild(RenderObject* child);
+ virtual void dirtyLinesFromChangedChild(RenderObject* child, bool adding = true);
// set the style of the object.
virtual void setStyle(RenderStyle *style);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list