Bug 74453 - [Qt][WK2] REGRESSION: Can't run qmlscene with a simple WebView anymore
Summary: [Qt][WK2] REGRESSION: Can't run qmlscene with a simple WebView anymore
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P1 Blocker
Assignee: Nobody
URL:
Keywords: Qt, QtTriaged
Depends on:
Blocks:
 
Reported: 2011-12-13 15:10 PST by Jesus Sanchez-Palencia
Modified: 2012-01-03 13:52 PST (History)
4 users (show)

See Also:


Attachments
simple test case (168 bytes, text/x-qml)
2011-12-13 15:10 PST, Jesus Sanchez-Palencia
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jesus Sanchez-Palencia 2011-12-13 15:10:46 PST
Created attachment 119094 [details]
simple test case

Using this week's Qt5 defined hash (11bdb40bfda68291b9767b7908a2ab7dc3b75786) and WebKit2 trunk (http://svn.webkit.org/repository/webkit/trunk@102706), I can't run qmlscene with a simple qml file containing only a WebView.

The error output says: "QWidget: Cannot create a QWidget when no GUI is being used".

Backtrace from running 'qmlscene test_case.qml' points that the last WebKit-related code ran is from WebKit::QtViewportInteractionEngine::scroller(), called by reset(), called by the ctor, as shown below:


(gdb) bt
#0  0x00007ffff45f5965 in raise () from /lib/libc.so.6
#1  0x00007ffff45f6ddb in abort () from /lib/libc.so.6
#2  0x00007ffff56a9e0e in qt_message_output (msgType=QtFatalMsg, buf=0x7fff9c005428 "QWidget: Cannot create a QWidget when no GUI is being used") at global/qglobal.cpp:2111
#3  0x00007ffff56a9f81 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7fffe4ec0d40 "QWidget: Cannot create a QWidget when no GUI is being used", ap=0x7fffffffc658) at global/qglobal.cpp:2157
#4  0x00007ffff56aa66c in qFatal (msg=0x7fffe4ec0d40 "QWidget: Cannot create a QWidget when no GUI is being used") at global/qglobal.cpp:2335
#5  0x00007fffe49f8f9c in QWidgetPrivate::init (this=0x7fff9c0033d0, parentWidget=0x0, f=...) at kernel/qwidget.cpp:1140
#6  0x00007fffe49f8a71 in QWidget::QWidget (this=0x7fff9c0033a0, dd=..., parent=0x0, f=...) at kernel/qwidget.cpp:1063
#7  0x00007fffe4a33bec in QDesktopWidget::QDesktopWidget (this=0x7fff9c0033a0) at kernel/qdesktopwidget_qpa.cpp:88
#8  0x00007fffe49b068a in QApplication::desktop () at kernel/qapplication.cpp:2972
#9  0x00007fffe4e85e41 in QScrollerPrivate::setDpiFromWidget (this=0x7fff9c002e90, widget=0x0) at util/qscroller.cpp:1083
#10 0x00007fffe4e85975 in QScrollerPrivate::init (this=0x7fff9c002e90) at util/qscroller.cpp:909
#11 0x00007fffe4e83e7c in QScroller::QScroller (this=0x7fff9c002de0, target=0x7fff9c002b10) at util/qscroller.cpp:501
#12 0x00007fffe4e839d0 in QScroller::scroller (target=0x7fff9c002b10) at util/qscroller.cpp:318
#13 0x00007fffe667d0ee in WebKit::QtViewportInteractionEngine::scroller (this=0x7fff9c002b10) at /home/jeez/code/webkit/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h:128
#14 0x00007fffe667fb91 in WebKit::QtViewportInteractionEngine::reset (this=0x7fff9c002b10) at /home/jeez/code/webkit/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:431
#15 0x00007fffe667d409 in WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine (this=0x7fff9c002b10, viewport=0x6b1910, content=0x6b6370) at /home/jeez/code/webkit/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:121
#16 0x00007fffe65b1567 in QQuickWebViewPrivate::initializeTouch (this=0x6c1800, viewport=0x6b1910) at /home/jeez/code/webkit/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:120
#17 0x00007fffe65b2a17 in QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour (this=0x6c1800, enable=false) at /home/jeez/code/webkit/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:413
#18 0x00007fffe65b1179 in QQuickWebViewPrivate::initialize (this=0x6c1800, contextRef=0x0, pageGroupRef=0x0) at /home/jeez/code/webkit/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:76
#19 0x00007fffe65b3295 in QQuickWebView::QQuickWebView (this=0x6b1910, parent=0x0) at /home/jeez/code/webkit/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:588
#20 0x00007fffe984065f in QDeclarativePrivate::QDeclarativeElement<QQuickWebView>::QDeclarativeElement (this=0x6b1910) at /home/jeez/code/qt-50-debug/qtdeclarative/include/QtDeclarative/../../src/declarative/qml/qdeclarativeprivate.h:85
#21 0x00007fffe98406b0 in QDeclarativePrivate::createInto<QQuickWebView> (memory=0x6b1910) at /home/jeez/code/qt-50-debug/qtdeclarative/include/QtDeclarative/../../src/declarative/qml/qdeclarativeprivate.h:94
#22 0x00007ffff7309e7e in QDeclarativeType::create (this=0x6f9b80, out=0x7fffffffcf28, memory=0x7fffffffcf20, additionalMemory=128) at qml/qdeclarativemetatype.cpp:552
#23 0x00007ffff72d657d in QDeclarativeVME::run (this=0x6b6000, errors=0x6b60a0, interrupt=..., storeJumpTable=0x0) at qml/qdeclarativevme.cpp:504
#24 0x00007ffff72d1dcd in QDeclarativeVME::execute (this=0x6b6000, errors=0x6b60a0, interrupt=...) at qml/qdeclarativevme.cpp:184
#25 0x00007ffff72c681f in QDeclarativeComponentPrivate::beginCreate (this=0x6b5f50, context=0x6b55f0) at qml/qdeclarativecomponent.cpp:752
#26 0x00007ffff72c65f9 in QDeclarativeComponent::beginCreate (this=0x6b42e0, publicContext=0x689000) at qml/qdeclarativecomponent.cpp:708
#27 0x00007ffff72c656e in QDeclarativeComponent::create (this=0x6b42e0, context=0x689000) at qml/qdeclarativecomponent.cpp:673
#28 0x00007ffff799a7fb in QQuickView::continueExecute (this=0x6236a0) at items/qquickview.cpp:391
#29 0x00007ffff7999c7a in QQuickViewPrivate::execute (this=0x6455e0) at items/qquickview.cpp:96
#30 0x00007ffff799a042 in QQuickView::setSource (this=0x6236a0, url=...) at items/qquickview.cpp:204
#31 0x0000000000405e65 in main (argc=2, argv=0x7fffffffe3a8) at main.cpp:403
Comment 1 Lauro Moura Maranhao Neto 2011-12-13 15:20:40 PST
I'm getting this error both on the desktop and maemo 6. Even a simple QGuiApplication + QQuickView loading the qml file is enough to trigger the error.
Comment 2 Kenneth Rohde Christiansen 2011-12-14 00:34:59 PST
Will be fixed when we move to QFlickable
Comment 3 Kenneth Rohde Christiansen 2011-12-14 00:35:22 PST
If you turn on the desktop mode I guess it should work
Comment 4 Jesus Sanchez-Palencia 2011-12-15 05:28:19 PST
(In reply to comment #3)
> If you turn on the desktop mode I guess it should work

Yes, that is true.


(In reply to comment #2)
> Will be fixed when we move to QFlickable

So this is a known issue?
Kenneth, could you elaborate a bit more on this? I'm not fully aware of what is going on behind this "move to QFlickable", so I don't really get why this is the fix for this regression.

Thanks!
Comment 5 Jesus Sanchez-Palencia 2012-01-03 13:52:14 PST
I believe this was recently fixed.