Reviewed and landed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5768
          pages with frames that are all "fixed" get no layout and are blank (like www.farnell.nl)

        * khtml/rendering/render_frames.cpp: (RenderFrameSet::layout):
        * manual-tests/bugzilla-5768.html: Added. Can't seem to get it to work (fail) as an automated test.
        * manual-tests/resources/frame1.html: Added.
        * manual-tests/resources/frame2.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-12-19 b/WebCore/ChangeLog-2005-12-19
index c7f54de..292ec06 100644
--- a/WebCore/ChangeLog-2005-12-19
+++ b/WebCore/ChangeLog-2005-12-19
@@ -1,3 +1,15 @@
+2005-12-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
+
+        Reviewed and landed by Darin.
+
+        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5768
+          pages with frames that are all "fixed" get no layout and are blank (like www.farnell.nl)
+
+        * khtml/rendering/render_frames.cpp: (RenderFrameSet::layout):
+        * manual-tests/bugzilla-5768.html: Added. Can't seem to get it to work (fail) as an automated test.
+        * manual-tests/resources/frame1.html: Added.
+        * manual-tests/resources/frame2.html: Added.
+
 2005-12-17  Anders Carlsson  <andersca@mac.com>
 
         Reviewed by Darin.
diff --git a/WebCore/khtml/rendering/render_frames.cpp b/WebCore/khtml/rendering/render_frames.cpp
index ce695b3..ed21518 100644
--- a/WebCore/khtml/rendering/render_frames.cpp
+++ b/WebCore/khtml/rendering/render_frames.cpp
@@ -376,7 +376,8 @@
                         m_hSplitVar[r] = false;
                     }
                     child = child->nextSibling();
-                    if(!child) goto end2;
+                    if(!child)
+                        goto end1;
                 }
 #ifdef DEBUG_LAYOUT
                 else
@@ -386,6 +387,7 @@
         }
 
     }
+ end1:
     RenderContainer::layout();
  end2:
     setNeedsLayout(false);
diff --git a/WebCore/manual-tests/bugzilla-5768.html b/WebCore/manual-tests/bugzilla-5768.html
new file mode 100644
index 0000000..4ead9f2
--- /dev/null
+++ b/WebCore/manual-tests/bugzilla-5768.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
+"http://www.w3.org/TR/html4/frameset.dtd">
+<html>
+<head>
+<title>No relayout when all frames are fixed</title>
+<script type="text/javascript">
+if (window.layoutTestController)
+    layoutTestController.waitUntilDone();
+var i = 0;
+function test()
+{
+    i++;
+    var f = document.getElementById('f');
+    switch(i) {
+        case 1:
+            window.setTimeout(test, 100);
+            break;
+        case 2:
+            f.src = "resources/frame2.html";
+            break;
+        case 3:
+            window.setTimeout(test, 100);
+            break;
+        case 4:
+            f.src = "resources/frame1.html";
+            break;
+        case 5:
+            window.setTimeout(test, 100);
+            break;
+        case 6:
+            if (window.layoutTestController)
+                layoutTestController.notifyDone();
+            break;
+    }
+}
+</script>
+</head>
+<frameset>
+    <frame onload="test()" id="f" src="resources/frame1.html" noresize>
+</frameset>
+</html>
diff --git a/WebCore/manual-tests/resources/frame1.html b/WebCore/manual-tests/resources/frame1.html
new file mode 100644
index 0000000..50f3b98
--- /dev/null
+++ b/WebCore/manual-tests/resources/frame1.html
@@ -0,0 +1,8 @@
+<html>
+<head>
+<title>frame1</title>
+</head>
+<body>
+Frame 1
+</body>
+</html>
\ No newline at end of file
diff --git a/WebCore/manual-tests/resources/frame2.html b/WebCore/manual-tests/resources/frame2.html
new file mode 100644
index 0000000..d74db38
--- /dev/null
+++ b/WebCore/manual-tests/resources/frame2.html
@@ -0,0 +1,8 @@
+<html>
+<head>
+<title>frame2</title>
+</head>
+<body>
+Frame 2
+</body>
+</html>
\ No newline at end of file