[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/khtml/rendering
From:       Germain Garand <germain () ebooksfrance ! com>
Date:       2005-11-18 13:58:42
Message-ID: 1132322322.842780.11277.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 481278 by ggarand:

forward port #116265 fix



 M  +12 -2     render_flow.cpp  


--- trunk/KDE/kdelibs/khtml/rendering/render_flow.cpp #481277:481278
@@ -261,8 +261,18 @@
 
         // Now invalidate a rectangle.
         int ow = style() ? style()->outlineWidth() : 0;
-        if (m_layer && style()->position() == RELATIVE)
-            relativePositionOffset(left, top);
+
+        // We need to add in the relative position offsets of any inlines (including \
us) up to our +        // containing block.
+        RenderBlock* cb = containingBlock();
+        for (RenderObject* inlineFlow = this; inlineFlow && \
inlineFlow->isInlineFlow() && inlineFlow != cb; +             inlineFlow = \
inlineFlow->parent()) { +             if (inlineFlow->style() && \
inlineFlow->style()->position() == RELATIVE && inlineFlow->layer()) { +               \
KHTMLAssert(inlineFlow->isBox()); +                \
static_cast<RenderBox*>(inlineFlow)->relativePositionOffset(left, top); +             \
} +        }
+
         RootInlineBox *lastRoot = lastLineBox() && !needsLayout() ? \
lastLineBox()->root() : 0;  containingBlock()->repaintRectangle(-ow+left, -ow+top,
                                             width()+ow*2,


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic