<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>68068</bug_id>
          
          <creation_ts>2003-11-12 21:46:58 +0000</creation_ts>
          <short_desc>[test case] clear:both not handled correctly (regression)</short_desc>
          <delta_ts>2004-01-25 22:12:12 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>konqueror</product>
          <component>khtml renderer</component>
          <version>4.0</version>
          <rep_platform>unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>grave</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shift">shift</reporter>
          <assigned_to name="Konqueror Bugs">konqueror-bugs-null</assigned_to>
          <cc>bulk</cc>
    
    <cc>marcus</cc>
    
    <cc>stephane</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>40</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>175858</commentid>
    <comment_count>0</comment_count>
    <who name="Shift">shift</who>
    <bug_when>2003-11-12 21:46:58 +0000</bug_when>
    <thetext>Version:           4.0 (using KDE 3.1.93 (CVS &gt;= 20031028), Mandrake Linux Cooker i586 - Cooker)
Compiler:          gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-4mdk)
OS:          Linux (i686) release 2.4.22-16mdk

There is a regression in the CVS khtml engine.

The clear:both is broken.

Try http://perso.wanadoo.fr/shift/kde-bug/clear-both.html

The BOTTOM box will be under the level of the TOP-RIGHT.

It is a very important regression :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175896</commentid>
    <comment_count>1</comment_count>
    <who name="Shift">shift</who>
    <bug_when>2003-11-12 23:36:13 +0000</bug_when>
    <thetext>Another example :
http://perso.wanadoo.fr/shift/kde-bug/clear-both2.html

Here you can see that the box 3 &quot;believe&quot; that the floating box 2 is on the left of it.

This bug completely broke the layout of my website : http://shift.free.fr/
Please help !!!! :)

Thanks,

Franck </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192048</commentid>
    <comment_count>2</comment_count>
    <who name="Marcus Williams">marcus</who>
    <bug_when>2004-01-06 15:55:25 +0000</bug_when>
    <thetext>This breaks quite a few layouts that use floated images - but only those that try the clear _outside_ the containing element:

&lt;p&gt;
 &lt;img style=&quot;float:left&quot; src=&quot;/some/image&quot;&gt;
 some small paragraph such that the image hangs out of the paragraph bounding box by a few ems...
&lt;/p&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;p&gt;
 &lt;img style=&quot;float:left&quot; src=&quot;/some/image&quot;&gt;
 some small paragraph such that the image hangs out of the paragraph bounding box by a few ems...
&lt;/p&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;

The second paragraph should be below the image, not to the right of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193523</commentid>
    <comment_count>3</comment_count>
    <who name="">patrick</who>
    <bug_when>2004-01-11 05:12:40 +0000</bug_when>
    <thetext>I hope I have correctly identified this as &quot;the same bug&quot;...

This bug also breaks the node entry form in Drupal (http://www.drupal.org) as the textarea for the body is shifted to the right off the screen. No scrollbar is displayed...

I have reduced the page into a (IMO) minimal testcase:

&lt;div style=&quot;float:left; border:blue thin solid;&quot;&gt;float: left&lt;/div&gt;
&lt;div style=&quot;clear:both; border:red thin solid;&quot;&gt;clear: both&lt;/div&gt;

The &quot;clear: both&quot; text should be exactly below the &quot;float:left&quot;, not indented to the right...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193679</commentid>
    <comment_count>4</comment_count>
    <who name="Stephan Kulow">coolo</who>
    <bug_when>2004-01-11 16:20:26 +0000</bug_when>
    <thetext>Shift: please attach your test cases here - test cases get lost just too easy otherwise</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193685</commentid>
    <comment_count>5</comment_count>
      <attachid>4099</attachid>
    <who name="Shift">shift</who>
    <bug_when>2004-01-11 16:35:59 +0000</bug_when>
    <thetext>Created attachment 4099
First testcase

Here is the first testcase in attachement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193686</commentid>
    <comment_count>6</comment_count>
      <attachid>4100</attachid>
    <who name="Shift">shift</who>
    <bug_when>2004-01-11 16:36:43 +0000</bug_when>
    <thetext>Created attachment 4100
Second testcase

Here is the second testcase in attachement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198330</commentid>
    <comment_count>7</comment_count>
    <who name="Shift">shift</who>
    <bug_when>2004-01-24 08:19:24 +0000</bug_when>
    <thetext>The second test case seems to be OK now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198738</commentid>
    <comment_count>8</comment_count>
    <who name="Stephan Kulow">coolo</who>
    <bug_when>2004-01-25 17:27:32 +0000</bug_when>
    <thetext>*** Bug 73462 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198743</commentid>
    <comment_count>9</comment_count>
    <who name="Stephan Kulow">coolo</who>
    <bug_when>2004-01-25 17:27:59 +0000</bug_when>
    <thetext>*** Bug 70930 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198843</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Mueller">mueller</who>
    <bug_when>2004-01-25 22:12:13 +0000</bug_when>
    <thetext>Subject: kdelibs/khtml

CVS commit by mueller: 

* rendering/render_block.cpp (positionNewFloats): when somebody says
clear: both;, he usually means it (#68068).
CCMAIL: 68068-done@bugs.kde.org


  M +3 -0      ChangeLog   1.185
  M +7 -5      rendering/render_block.cpp   1.23


--- kdelibs/khtml/ChangeLog  #1.184:1.185
@@ -1,4 +1,7 @@
 2004-01-25  Dirk Mueller  &lt;mueller@kde.org&gt;
 
+        * rendering/render_block.cpp (positionNewFloats): when somebody says
+        clear: both;, he usually means it (#68068).
+
         * html/html_objectimpl.cpp (renderAlternative): give the alternative rendering
         some time to avoid ugly deletion races.

--- kdelibs/khtml/rendering/render_block.cpp  #1.22:1.23
@@ -1361,8 +1361,12 @@ void RenderBlock::positionNewFloats()
         if (ro - lo &lt; fwidth)
             fwidth = ro - lo; // Never look for more than what will be available.
-        if (o-&gt;style()-&gt;floating() == FLEFT)
-        {
+
             if ( o-&gt;style()-&gt;clear() &amp; CLEFT )
                 y = kMax( leftBottom(), y );
+        if ( o-&gt;style()-&gt;clear() &amp; CRIGHT )
+            y = kMax( rightBottom(), y );
+
+        if (o-&gt;style()-&gt;floating() == FLEFT)
+        {
             int heightRemainingLeft = 1;
             int heightRemainingRight = 1;
@@ -1380,6 +1384,4 @@ void RenderBlock::positionNewFloats()
         else
         {
-            if ( o-&gt;style()-&gt;clear() &amp; CRIGHT )
-                y = kMax( rightBottom(), y );
             int heightRemainingLeft = 1;
             int heightRemainingRight = 1;
@@ -1786,5 +1788,5 @@ void RenderBlock::markAllDescendantsWith
 bool RenderBlock::checkClear(RenderObject *child)
 {
-    //kdDebug( 6040 ) &lt;&lt; &quot;checkClear oldheight=&quot; &lt;&lt; m_height &lt;&lt; endl;
+    //kdDebug( 6040 ) &lt;&lt; &quot;checkClear on child &quot; &lt;&lt; child &lt;&lt; &quot; oldheight=&quot; &lt;&lt; m_height &lt;&lt; endl;
     int bottom = 0;
     switch(child-&gt;style()-&gt;clear())


</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4099</attachid>
            <date>2004-01-11 16:35:59 +0000</date>
            <delta_ts>2004-01-11 16:35:59 +0000</delta_ts>
            <desc>First testcase</desc>
            <filename>clear-both.html</filename>
            <type>text/html</type>
            <size>744</size>
            <attacher name="Shift">shift</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjEvL0VOIiAiaHR0cDov
L3d3dy53My5vcmcvVFIveGh0bWwxMS9EVEQveGh0bWwxMS5kdGQiPgoKPGh0bWwgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJmciI+Cgk8aGVhZD4KCQk8dGl0
bGU+Q1NTIFRlc3Q8L3RpdGxlPgoKCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoKCQkJZGl2IHsK
CQkJCWJvcmRlcjogc29saWQgMXB4IHJlZDsKCQkJfQoJCQkKCQkJI3RvcFJpZ2h0IHsKCQkJCWZs
b2F0OnJpZ2h0OwoJCQkJd2lkdGg6IDI1MHB4OwoJCQkJaGVpZ2h0OjEwMHB4OwoJCQl9CgkJCQoJ
CQkjdG9wIHsJCgkJCQl3aWR0aDo1MCU7CgkJCX0KCQkJCgkJCSNib3R0b21MZWZ0IHsKCQkJCWZs
b2F0OiBsZWZ0OwoJCQkJY2xlYXI6IGJvdGg7CgkJCX0KCQk8L3N0eWxlPgkKCgk8L2hlYWQ+CgoJ
PGJvZHk+CgoJCTxkaXYgaWQ9InRvcFJpZ2h0Ij4KCQkJVE9QLVJJR0hUPGJyIC8+CgkJCWZsb2F0
OnJpZ2h0OzxiciAvPgoJCQl3aWR0aDogMjUwcHg7PGJyIC8+CgkJCWhlaWdodDoxMDBweDsKCQk8
L2Rpdj4KCgkJPGRpdiBpZD0idG9wIj4KCQkJVE9QPGJyIC8+CgkJCXdpZHRoOjUwJTsKCQk8L2Rp
dj4KCgoJCTxkaXYgaWQ9ImJvdHRvbUxlZnQiPgoJCQlCT1RUT00tTEVGVDxiciAvPgoJCQlmbG9h
dDogbGVmdDs8YnIgLz4KCQkJY2xlYXI6IGJvdGg7CgkJPC9kaXY+CgkJCgk8L2JvZHk+CjwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4100</attachid>
            <date>2004-01-11 16:36:43 +0000</date>
            <delta_ts>2004-01-11 16:36:43 +0000</delta_ts>
            <desc>Second testcase</desc>
            <filename>clear-both2.html</filename>
            <type>text/html</type>
            <size>2304</size>
            <attacher name="Shift">shift</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjEvL0VOIiAiaHR0cDov
L3d3dy53My5vcmcvVFIveGh0bWwxMS9EVEQveGh0bWwxMS5kdGQiPgoKPGh0bWwgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJmciI+Cgk8aGVhZD4KCQk8dGl0
bGU+Q1NTIFRlc3Q8L3RpdGxlPgoKCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoKCQkJZGl2IHsK
CQkJCWJvcmRlcjogc29saWQgMXB4IHJlZDsKCQkJfQoJCQkKCQkKCQkJIzEgewoJCQkJd2lkdGg6
IDQwMHB4OwoJCQl9CgoJCQkjMiB7CQoJCQkJZmxvYXQ6bGVmdDsKCQkJCXdpZHRoOiAxNTBweDsK
CQkJCWhlaWdodCA6IDE1MHB4OwoJCQkJYmFja2dyb3VuZC1jb2xvcjp5ZWxsb3c7CgkJCX0KCQkJ
CgkJCSMzIHsKCQkJCWNsZWFyOmJvdGg7CgkJCX0KCQkJCgkJPC9zdHlsZT4JCgoJPC9oZWFkPgoK
CTxib2R5PgoKCQoJCTxkaXYgaWQ9IjEiPgoJCQk8ZGl2IGlkPSIyIj4KCQkJCTI8YnIgLz4KCQkJ
CWZsb2F0OmxlZnQ7PGJyIC8+CgkJCQl3aWR0aDogMTAwcHg7PGJyIC8+CgkJCQloZWlnaHQgOiAx
MDBweDs8YnIgLz4KCQkJCWJhY2tncm91bmQtY29sb3I6eWVsbG93OwoJCQk8L2Rpdj4KCQkJPGRp
diBpZD0iMyI+CgkJCQkKCQkJCTM8YnIvPgoJCQkJY2xlYXI6Ym90aDs8YnIgLz4KCShmc2Qgc2Rq
IHNka2pnIGhzZGpnaGV6aWdkZmdiampzZGJnZiBkc2ogaGdqa3NkaGdqa2hkc2Zqa2cgaHNkaGdq
a3NsaGRnIGprc2hmZGdqIGtoc2QgZmpna2ggc2xnaGprZmhnIGtqc2hmZGprc3RoanNodCBramRi
Z2tkYnQga2JzcmkgamJmIGdqYnNkayBnYmQga2dmYiBranNkZmcgZmRoZyBkZmhnZGZnaCBkZmdo
IGRmaCBkYnJkZXRiYnl0YmJ5aCBmc2Qgc2RqIHNka2pnIGhzZGpnaGV6aWdkZmdiampzZGJnZiBk
c2ogaGdqa3NkaGdqa2hkc2Zqa2cgaHNkaGdqa3NsaGRnIGprc2hmZGdqIGtoc2QgZmpna2ggc2xn
aGprZmhnIGtqc2hmZGprc3RoanNodCBramRiZ2tkYnQga2JzcmkgamJmIGdqYnNkayBnYmQga2dm
YiBranNkZmcgZmRoZyBkZmhnZGZnaCBkZmdoIGRmaCBkYnJkZXRiYnl0YmJ5aApmc2Qgc2RqIHNk
a2pnIGhzZGpnaGV6aWdkZmdiampzZGJnZiBkc2ogaGdqa3NkaGdqa2hkc2Zqa2cgaHNkaGdqa3Ns
aGRnIGprc2hmZGdqIGtoc2QgZmpna2ggc2xnaGprZmhnIGtqc2hmZGprc3RoanNodCBramRiZ2tk
YnQga2JzcmkgamJmIGdqYnNkayBnYmQga2dmYiBranNkZmcgZmRoZyBkZmhnZGZnaCBkZmdoIGRm
aCBkYnJkZXRiYnl0YmJ5aApmc2Qgc2RqIHNka2pnIGhzZGpnaGV6aWdkZmdiampzZGJnZiBkc2og
aGdqa3NkaGdqa2hkc2Zqa2cgaHNkaGdqa3NsaGRnIGprc2hmZGdqIGtoc2QgZmpna2ggc2xnaGpr
ZmhnIGtqc2hmZGprc3RoanNodCBramRiZ2tkYnQga2JzcmkgamJmIGdqYnNkayBnYmQga2dmYiBr
anNkZmcgZmRoZyBkZmhnZGZnaCBkZmdoIGRmaCBkYnJkZXRiYnl0YmJ5aApmc2Qgc2RqIHNka2pn
IGhzZGpnaGV6aWdkZmdiampzZGJnZiBkc2ogaGdqa3NkaGdqa2hkc2Zqa2cgaHNkaGdqa3NsaGRn
IGprc2hmZGdqIGtoc2QgZmpna2ggc2xnaGprZmhnIGtqc2hmZGprc3RoanNodCBramRiZ2tkYnQg
a2JzcmkgamJmIGdqYnNkayBnYmQga2dmYiBranNkZmcgZmRoZyBkZmhnZGZnaCBkZmdoIGRmaCBk
YnJkZXRiYnl0YmJ5aApmc2Qgc2RqIHNka2pnIGhzZGpnaGV6aWdkZmdiampzZGJnZiBkc2ogaGdq
a3NkaGdqa2hkc2Zqa2cgaHNkaGdqa3NsaGRnIGprc2hmZGdqIGtoc2QgZmpna2ggc2xnaGprZmhn
IGtqc2hmZGprc3RoanNodCBramRiZ2tkYnQga2JzcmkgamJmIGdqYnNkayBnYmQga2dmYiBranNk
ZmcgZmRoZyBkZmhnZGZnaCBkZmdoIGRmaCBkYnJkZXRiYnl0YmJ5aApmc2Qgc2RqIHNka2pnIGhz
ZGpnaGV6aWdkZmdiampzZGJnZiBkc2ogaGdqa3NkaGdqa2hkc2Zqa2cgaHNkaGdqa3NsaGRnIGpr
c2hmZGdqIGtoc2QgZmpna2ggc2xnaGprZmhnIGtqc2hmZGprc3RoanNodCBramRiZ2tkYnQga2Jz
cmkgamJmIGdqYnNkayBnYmQga2dmYiBranNkZmcgZmRoZyBkZmhnZGZnaCBkZmdoIGRmaCBkYnJk
ZXRiYnl0YmJ5aApmc2Qgc2RqIHNka2pnIGhzZGpnaGV6aWdkZmdiampzZGJnZiBkc2ogaGdqa3Nk
aGdqa2hkc2Zqa2cgaHNkaGdqa3NsaGRnIGprc2hmZGdqIGtoc2QgZmpna2ggc2xnaGprZmhnIGtq
c2hmZGprc3RoanNodCBramRiZ2tkYnQga2JzcmkgamJmIGdqYnNkayBnYmQga2dmYiBranNkZmcg
ZmRoZyBkZmhnZGZnaCBkZmdoIGRmaCBkYnJkZXRiYnl0YmJ5aAopCgkJCTwvZGl2PgoKCQk8L2Rp
dj4KCgkJCgk8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>