WebKit fails
-
@
int main(...)
{
QApplication app(argc, argv);
QWebView web;
web.load(QUrl::fromUserInput("vk.com"));
web.show();
QTextEdit txt;
txt.show();
return app.exec();
}
@this little program fails(without any messages and without output), when you try to change scroll position. if you comment txt.show();, it will work correctly. could you help, please
p.s. windows 7 -
Hi and welcome to devnet,
Please enclose you code with coding tags to make it readable.
You also need to provide more information about how it fails like error message etc...
-
can you please be more specific with "this little program fails when you try to change scroll position"
What exactly happens?! -
-
please post the stack-trace out of QtCreator (start the application in debug mode)
-
WebCore::RenderLayer::updateLayerPositionsAfterScroll(WebCore::RenderGeometryMap*, unsigned int) C:\Qt\5.1.0\mingw48_32\bin\Qt5WebKitd.dll 0x113c8a83
WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll() C:\Qt\5.1.0\mingw48_32\bin\Qt5WebKitd.dll 0x113c8d15
0x26865040
if You need whole stack trace, you can find it here: https://docviewer.yandex.ru/?url=ya-disk:///disk/Whole_stack_trace.txt&name=Whole_stack_trace.txt&c=520bb83a52e5
may be it's relevant - operation system signal is: SIGSEGV (Segmentation fault)
it's not exactly singular problem with WebKit, but it's the most obvious
-
Your link goes to a page requiring a login
-
sorry, now it's a public link
http://yadi.sk/d/AWQSajkJ7wN_s -
in debug mode I have this output:
ERROR: ICU ambiguous alias warning for encoding: windows-1251
platform\text\TextCodecICU.cpp(247) : void WebCore::TextCodecICU::createICUConverter() const
ERROR: ICU ambiguous alias warning for encoding: windows-1251platform\text\TextCodecICU.cpp(247) : void WebCore::TextCodecICU::createICUConverter() const
ASSERTION FAILED: m_repaintRect == renderer()->clippedOverflowRectForRepaint(renderer()->containerForRepaint())
rendering\RenderLayer.cpp(553) : void WebCore::RenderLayer::updateLayerPositionsAfterScroll(WebCore::RenderGeometryMap*, WebCore::RenderLayer::UpdateLayerPositionsAfterScrollFlags) -
please, anybody, help
-
I can confirm this
happening on Win7 Qt 5.1.1 open glI think you need a main widget - have you tried s.th. like
@app.setActiveWindow(&web);
return app.exec();
@This could be related to a "Known Issue":http://qt-project.org/wiki/Qt511KnownIssues
"QTBUG-32590":https://bugreports.qt-project.org/browse/QTBUG-32590: Each QWidget move generates two QMoveEvents, the second of which has incorrect coordinates. -
Thank you very much. The program no longer crashes.
But could you explain, please, how app.setActiveWindow (& web) solves the problem, and what is the relation between the above error and QTBUG-32590. -
@QString directory = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
if (directory.isEmpty())
directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
QWebSettings::setIconDatabasePath(directory);
QWebSettings::setOfflineStoragePath(directory);
QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);@I recommend to use this snippet to avoid problems with webkit
besides that I recommend not to use MinGW because of following bug https://bugreports.qt-project.org/browse/QTBUG-32168