Win8 Qt5.0.1 QWebKit crashes with message "ASSERTION FAILED: !document()->childNeedsStyleRecalc(). dom\Node.cpp(931) : WebCore::Node::isFocusable"
-
Hi,
I previously used Qt 4.8.0 and now moved my project to Qt 5.0.1. With 4.8.0 everything worked fine, but with this new Qt I've have had some WebKit problems. On OSX side (Mountain Lion) everything woks as a charm, but on Windows8 side this bug appears.
I have a webpage inside QWebFrame. In the webpage there are some custom checkboxes and radiobuttons. These have been done like this:
@<style>
.checkboxClass input {
display: none;
}
.checkboxClass span {
width: 12px;
height: 12px;
display: inline-table;
border: solid 1px #b2b2b2;
background-size: 10px 10px;
background-repeat: no-repeat;
background-position: center center;
cursor: pointer;
}
.radiobuttonClass span {
background-size: 8px 8px;
}
.checkboxClass span:hover {
background-color: #ededed;
}
.checkboxClass input:checked + span {
background-image: url("../img/chkboxcheck.png");
}
</style>
<label class="checkboxClass">
<input type="checkbox" id="cbHidden"/> <!-- This is hidden to handle checkbox states -->
<span></span> <!-- This is visible and style to look like checkbox -->
</label>@Well. When I click this custom span checkbox the whole Qt application crashes. Last console print is:
ASSERTION FAILED: !document()->childNeedsStyleRecalc()
dom\Node.cpp(931) : WebCore::Node::isFocusableThis does not happen if that first input checkbox cbHidden display value is set to visible. Apparently this new QtWebKit does not know how to handle css selector "input:checked" or something.
Does anybody know more about this bug? I'm afraid that I might have more problems coming with other css selectors. Maybe have to test them all before I dear to move from 4.8.0 to 5.0.
--
Pedro -
Hi again,
I did a workaround with absolute position and settings width and height to 0.
Seems like there is already a bug related to this: https://bugs.webkit.org/show_bug.cgi?id=109048
--
pedro