Version: (using KDE KDE 3.2.0) Installed from: Compiled From Sources Compiler: gcc (GCC) 3.3.3 20040110 (prerelease) (Debian) OS: Linux I have an iframe inside a div element, when the div is hidden the iframe is still visible. It works as expected in Konqueror 3.1.5, Mozilla 1.6 and others. Try with this example: <html> <head> <script type="text/javascript"> function init() { testIframe.document.body.innerHTML="<p>Text inside an IFRAME</p>"; if (typeof testDiv == 'undefined') testDiv = document.getElementById('testDiv'); } function hide() { testDiv.style.visibility = 'hidden'; } function show() { testDiv.style.visibility = 'visible'; } </script> <head> <body onload="init()"> <form action=""> <input type="button" value="Hide" onclick="hide()"> <input type="button" value="Show" onclick="show()"> </form> <div id="testDiv" style="border: 10px solid red;"> <p>Text inside DIV</p> <iframe name="testIframe"></iframe> </div> </body>
Created an attachment (id=4479) [details] test case
perhaps a repaint/clipping issue-- if you shade/unshade the window, you'll get a place where nothing is painted.
CVS commit by coolo: remove hidden widgets from the painting (thanks Germain for the fix) BUG: 73984 M +2 -0 ChangeLog 1.325 M +3 -1 rendering/render_replaced.cpp 1.177 --- kdelibs/khtml/ChangeLog #1.324:1.325 @@ -1,4 +1,6 @@ 2004-11-02 Stephan Kulow <coolo@kde.org> + * rendering/render_replaced.cpp (setStyle): set hidden widgets to invisible + * xml/dom_docimpl.cpp (recalcStyleSelector): avoid invalid casts on XML documents --- kdelibs/khtml/rendering/render_replaced.cpp #1.176:1.177 @@ -314,4 +314,6 @@ void RenderWidget::setStyle(RenderStyle m_widget->setFont(style()->font()); if (style()->visibility() != VISIBLE) { + if (m_view) + m_view->setWidgetVisible(this, false); m_widget->hide(); }
You need to log in before you can comment on or make changes to this bug.