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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>16456</bug_id>
          
          <creation_ts>2007-12-15 17:53:27 -0800</creation_ts>
          <short_desc>Crash in FrameView and other places because ScrollView has Children that were deleted</short_desc>
          <delta_ts>2008-01-10 13:26:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>64335</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-12-15 17:53:27 -0800</bug_when>
    <thetext>It is possible that we delete a WebCore::Widget without removing it from the parent (ScrollView).

#3  0xb659f958 in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbffe2480 &quot;ASSERT: \&quot;!parent()\&quot; in file /home/ich/source/trolltech/qt.git/src/3rdparty/webkit/WebCore/platform/qt/WidgetQt.cpp, line 82&quot;) at /home/ich/source/trolltech/qt.git/src/corelib/global/qglobal.cpp:2178
#4  0xb659f9dd in qFatal (msg=0xb6704f90 &quot;ASSERT: \&quot;%s\&quot; in file %s, line %d&quot;)
    at /home/ich/source/trolltech/qt.git/src/corelib/global/qglobal.cpp:2410
#5  0xb659fc51 in qt_assert (assertion=0xb7c9d241 &quot;!parent()&quot;, 
    file=0xb7c9d1c8 &quot;/home/ich/source/trolltech/qt.git/src/3rdparty/webkit/WebCore/platform/qt/WidgetQt.cpp&quot;, line=82)
    at /home/ich/source/trolltech/qt.git/src/corelib/global/qglobal.cpp:1918
#6  0xb7a2b09c in ~Widget (this=0x827d6c8) at /home/ich/source/trolltech/qt.git/src/3rdparty/webkit/WebCore/platform/qt/WidgetQt.cpp:82
#7  0xb79a48c9 in WebCore::RenderPart::deleteWidget (this=0x821b268)
    at /home/ich/source/trolltech/qt.git/src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp:85
#8  0xb79dc9cc in WebCore::RenderWidget::setWidget (this=0x821b268, widget=0x8376020)
    at /home/ich/source/trolltech/qt.git/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp:129
#9  0xb79a4c07 in WebCore::RenderPart::setWidget (this=0x821b268, widget=0x8376020)
    at /home/ich/source/trolltech/qt.git/src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp:64
#10 0xb788be34 in WebCore::FrameLoader::loadPlugin (this=0x80856c8, renderer=0x821b268, url=@0xbffe466c, mimeType=@0xbffe47e8, 
    paramNames=@0xbffe47bc, paramValues=@0xbffe47b0, useFallback=false)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64336</commentid>
    <comment_count>1</comment_count>
      <attachid>17919</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-12-15 17:57:51 -0800</bug_when>
    <thetext>Created attachment 17919
Crash Fix

* The windows port has the ASSERT(!parent()) in the destructor. So I think adding a removeFromParent call is not an option.
* This fix copies the code from RenderWidget::destroy. We will remove m_widget from the m_view. For win/gtk/qt it is assumed that m_view == m_widget-&gt;parent() but as the mac doesn&apos;t have this method I can&apos;t put an assert there.
* Add the ASSERT from the win port to the Qt and Gtk+ one.
* I did not test this patch for regressions yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64391</commentid>
    <comment_count>2</comment_count>
      <attachid>17919</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-12-16 10:22:20 -0800</bug_when>
    <thetext>Comment on attachment 17919
Crash Fix

This looks fine to me. As long as we determine that it doesn&apos;t cause a crash or other problem on the Mac port.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66790</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-01-10 13:26:06 -0800</bug_when>
    <thetext>A similar patch was landed in r29369.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17919</attachid>
            <date>2007-12-15 17:57:51 -0800</date>
            <delta_ts>2007-12-16 10:22:20 -0800</delta_ts>
            <desc>Crash Fix</desc>
            <filename>crash.fix</filename>
            <type>text/plain</type>
            <size>1600</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">Y29tbWl0IDUyZDFmY2M3OThiNzFkNGIyNDQ3ZWNhYmRmNjEzODFjMDUxNDdlM2EKQXV0aG9yOiBI
b2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8aG9sZ2VyLmZyZXl0aGVyQHRyb2xsdGVjaC5jb20+
CkRhdGU6ICAgU3VuIERlYyAxNiAwMjo0MjoxNyAyMDA3ICswMTAwCgogICAgKiBGaXggYSBjcmFz
aCB3aXRoIG91ciB3ZWJraXRkZW1vLiBSZW5kZXJXaWRnZXQ6OnNldFdpZGdldCB3b3VsZCBkZWxl
dGUgdGhlCiAgICAgIG9sZCB0aGUgd2lkZ2V0IGJ1dCBkaWRuJ3QgdGVsbCB0aGUgU2Nyb2xsVmll
dyB0aGF0IHRoZSB3aWRnZXQgaXMgZ29uZS4KICAgICogQWRkIHRoZSBBU1NFUlQgZnJvbSB0aGUg
d2luZG93cyBwb3J0IHRvIHRoZSBvdGhlciBwYXJ0cyBhcyB3ZWxsLiBXaGVuIGRlc3RydWN0aW5n
CiAgICAgIGEgV2lkZ2V0IGl0IGlzIGFzc3VtZWQgdGhhdCBpdCBpcyBhbHJlYWR5IHJlbW92ZWQg
ZnJvbSB0aGUgcGFyZW50LgoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdl
dEd0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRHdGsuY3BwCmluZGV4IDEwMGM3
ODIuLmZkMzE1NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEd0ay5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0R3RrLmNwcApAQCAtNzgsNiArNzgs
NyBAQCB2b2lkIFdpZGdldDo6c2V0R3RrV2lkZ2V0KEd0a1dpZGdldCogd2lkZ2V0KQogCiBXaWRn
ZXQ6On5XaWRnZXQoKQogeworICAgIEFTU0VSVCghcGFyZW50KCkpOwogICAgIGRlbGV0ZSBkYXRh
OwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1dpZGdldFF0LmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vcXQvV2lkZ2V0UXQuY3BwCmluZGV4IDI2ZTQ0NzkuLmY3M2JjMDMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2lkZ2V0UXQuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvV2lkZ2V0UXQuY3BwCkBAIC03OSw2ICs3OSw3IEBAIFdpZGdldDo6V2lkZ2V0
KCkKIAogV2lkZ2V0Ojp+V2lkZ2V0KCkKIHsKKyAgICBRX0FTU0VSVCghcGFyZW50KCkpOwogICAg
IGRlbGV0ZSBkYXRhOwogICAgIGRhdGEgPSAwOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5j
cHAKaW5kZXggMmRlOGRjOS4uYTE2NTlhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyV2lkZ2V0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3Bw
CkBAIC0xMjMsNiArMTIzLDggQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnNldFdpZGdldChXaWRnZXQq
IHdpZGdldCkKIHsKICAgICBpZiAod2lkZ2V0ICE9IG1fd2lkZ2V0KSB7CiAgICAgICAgIGlmICht
X3dpZGdldCkgeworICAgICAgICAgICAgaWYgKG1fdmlldykKKyAgICAgICAgICAgICAgICBtX3Zp
ZXctPnJlbW92ZUNoaWxkKG1fd2lkZ2V0KTsKICAgICAgICAgICAgIHdpZGdldFJlbmRlcmVyTWFw
KCkucmVtb3ZlKG1fd2lkZ2V0KTsKICAgICAgICAgICAgIGRlbGV0ZVdpZGdldCgpOwogICAgICAg
ICB9Cg==
</data>
<flag name="review"
          id="7756"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>