Summary: | testkhtml crashes on websites with text input fields | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Michael G. Hansen <mike> |
Component: | khtml | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | johann-nikolaus, maksim |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | New crash information added by DrKonqi |
Description
Michael G. Hansen
2010-01-24 12:23:12 UTC
*** Bug 223969 has been marked as a duplicate of this bug. *** Confirm after svn up'ing oxygen to trunk. Looking into it. Rough analysis of crash: 1) Top-level window in testkhtml gets deleted, which inside its destructor destroys the part 2) The part starts cleaning things up, and gets to RenderFormElement 3) RenderFormElement resets the style to default, so it can delete its own proxy style object. 4) The default style, oxygen, creates a child widget for some fancy effects... 5) Qt tries to register that widget in the focus-handling data structures of the top-level --- which is mostly destroyed already, including its focus data structures. Created attachment 40281 [details]
New crash information added by DrKonqi
cencel the the gps-korrelator edit dialog
@ Comment #4: is that from rc2, as the directory name suggests? yes, openSUSE reposetory. SVN commit 1081278 by orlovich: Change how we manage the proxy styles' lifetime, in order to avoid a nasty interraction which can occur if we hand-reset the style to normal on detach: if we're detaching in response to a top-levels' deletion and setStyle(0) throws oxygen back-in, it may try to create some helper widgets for effects, which will access memory of the half-destroyed top-level. Instead, make the proxy the child of the widget --- it's deleted very late, so wouldn't be accessed (famous last words, I know) --- and this avoid style re-set. Will backport for rc3 despite the trickiness since it affects kipi-plugins, making it high-priority. BUG: 224018 (This might also have fixed a bug with padding customization when the type of a listview changes. ) M +13 -8 render_form.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1081278 SVN commit 1081282 by orlovich: Backport: SVN commit 1081278 by orlovich: Change how we manage the proxy styles' lifetime, in order to avoid a nasty interraction which can occur if we hand-reset the style to normal on detach: if we're detaching in response to a top-levels' deletion and setStyle(0) throws oxygen back-in, it may try to create some helper widgets for effects, which will access memory of the half-destroyed top-level. Instead, make the proxy the child of the widget --- it's deleted very late, so wouldn't be accessed (famous last words, I know) --- and this avoid style re-set. Will backport for rc3 despite the trickiness since it affects kipi-plugins, making it high-priority. BUG: 224018 M +11 -6 render_form.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1081282 |