[webkit-changes] cvs commit: WebCore/khtml/rendering
render_block.cpp
David
hyatt at opensource.apple.com
Fri Nov 4 13:13:31 PST 2005
hyatt 05/11/04 13:13:31
Modified: . ChangeLog
khtml/rendering render_block.cpp
Log:
Fix for bug 5626, ghosted float steals mouse events. Make sure
that the floatRect() method deals with overflow.
Reviewed by john
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::paint):
(khtml::RenderBlock::floatRect):
(khtml::RenderBlock::nodeAtPoint):
Revision Changes Path
1.338 +12 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.337
retrieving revision 1.338
diff -u -r1.337 -r1.338
--- ChangeLog 4 Nov 2005 21:02:38 -0000 1.337
+++ ChangeLog 4 Nov 2005 21:13:29 -0000 1.338
@@ -1,3 +1,15 @@
+2005-11-04 David Hyatt <hyatt at apple.com>
+
+ Fix for bug 5626, ghosted float steals mouse events. Make sure
+ that the floatRect() method deals with overflow.
+
+ Reviewed by john
+
+ * khtml/rendering/render_block.cpp:
+ (khtml::RenderBlock::paint):
+ (khtml::RenderBlock::floatRect):
+ (khtml::RenderBlock::nodeAtPoint):
+
2005-11-04 David Harrison <harrison at apple.com>
Reviewed by John Sullivan.
1.214 +5 -1 WebCore/khtml/rendering/render_block.cpp
Index: render_block.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_block.cpp,v
retrieving revision 1.213
retrieving revision 1.214
diff -u -r1.213 -r1.214
--- render_block.cpp 2 Nov 2005 08:52:45 -0000 1.213
+++ render_block.cpp 4 Nov 2005 21:13:30 -0000 1.214
@@ -1223,6 +1223,8 @@
bool intersectsOverflowBox = overflowBox.intersects(i.r);
if (!intersectsOverflowBox) {
// Check floats next.
+ if (i.phase != PaintActionFloat)
+ return;
QRect floatBox = floatRect();
floatBox.inflate(maximalOutlineSize(i.phase));
floatBox.setX(floatBox.x() + _tx);
@@ -2042,7 +2044,7 @@
QRect RenderBlock::floatRect() const
{
QRect result(borderBox());
- if (!m_floatingObjects)
+ if (!m_floatingObjects || hasOverflowClip())
return result;
FloatingObject* r;
QPtrListIterator<FloatingObject> it(*m_floatingObjects);
@@ -2463,6 +2465,8 @@
bool insideOverflowBox = overflowBox.contains(_x, _y);
if (!insideOverflowBox) {
// Check floats next.
+ if (hitTestAction != HitTestFloat)
+ return;
QRect floatBox = floatRect();
floatBox.setX(floatBox.x() + tx);
floatBox.setY(floatBox.y() + ty);
More information about the webkit-changes
mailing list