[Webkit-unassigned] [Bug 25050] New: [Qt] Crash when dragging and dropping WebKit icon from firefox into editable Qt WebView

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Apr 4 15:24:18 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=25050

           Summary: [Qt] Crash when dragging and dropping WebKit icon from
                    firefox into editable Qt WebView
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Macintosh
               URL: https://www.webkit.org/
        OS/Version: Mac OS X 10.5
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebKit Qt
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: elbunce at xendom.com


I get a crash when dragging and dropping WebKit icon from firefox into editable
Qt WebView.  This was with Qt WebKit from SVN trunk r42167.

Steps to reproduce (on Mac OS 10.5.6):
1) Bring up http:/www.webkit.org/ in Firefox 3.0.8.
2) Launch an app using Qt WebView 
3) Get an editable frame, for example, using QtLauncher, enable editing by
checking "Set Editable" from the "Edit" menu
4) Start a drag of the WebKit icon from the top-left of the
http://www.webkit.org page, and drop it into the editable QWebView.
5) Receive the following crash:

ASSERT: "!isEmpty()" in file
/usr/local/Trolltech/Qt-4.5.0/lib/QtCore.framework/Versions/4/Headers/qlist.h,
line 252

Program received signal SIGABRT, Aborted.
0x94e5ce42 in __kill ()
(gdb) bt
#0  0x94e5ce42 in __kill ()
#1  0x94e5ce34 in kill$UNIX2003 ()
#2  0x94ecf23a in raise ()
#3  0x94edb679 in abort ()
#4  0x0027b3b5 in qt_message_output ()
#5  0x0027b4a9 in qFatal ()
#6  0x0027b5b0 in qt_assert ()
#7  0x04836188 in QList<QUrl>::first (this=0xbfffdac4) at qlist.h:252
#8  0x04835a2f in WebCore::DragData::asURL (this=0xbfffde78, title=0x0) at
../../../WebCore/platform/qt/DragDataQt.cpp:129
#9  0x04835b76 in WebCore::DragData::asPlainText (this=0xbfffde78) at
../../../WebCore/platform/qt/DragDataQt.cpp:95
#10 0x04607a45 in documentFragmentFromDragData (dragData=0xbfffde78,
context=@0xbfffdcb0, allowPlainText=true, chosePlainText=@0xbfffdc6b) at
../../../WebCore/page/DragController.cpp:123
#11 0x0460a371 in WebCore::DragController::concludeEditDrag (this=0x587ad0,
dragData=0xbfffde78) at ../../../WebCore/page/DragController.cpp:396
#12 0x0460aee8 in WebCore::DragController::performDrag (this=0x587ad0,
dragData=0xbfffde78) at ../../../WebCore/page/DragController.cpp:192
#13 0x0486365e in QWebPagePrivate::dropEvent (this=0x587560, ev=0xbfffe438) at
../../../WebKit/qt/Api/qwebpage.cpp:892
#14 0x0486aa71 in QWebPage::event (this=0x587250, ev=0xbfffe438) at
../../../WebKit/qt/Api/qwebpage.cpp:2070
#15 0x0486df12 in QWebView::dropEvent (this=0x570f60, ev=0xbfffe438) at
../../../WebKit/qt/Api/qwebview.cpp:850
#16 0x000141c5 in WebView::dropEvent (this=0x570f60, event=0xbfffe438) at
HtmlEditMainWindow.cpp:180
#17 0x00b815ca in QWidget::event ()
#18 0x0486d88c in QWebView::event (this=0x570f60, e=0xbfffe438) at
../../../WebKit/qt/Api/qwebview.cpp:589
#19 0x00b3538f in QApplicationPrivate::notify_helper ()
#20 0x00b3c629 in QApplication::notify ()
#21 0x00374ab2 in QCoreApplication::notifyInternal ()
#22 0x00ac3c9a in QWidgetPrivate::qt_mac_dnd_event ()
#23 0x00ad8756 in QWidgetPrivate::qt_widget_event ()
#24 0x93049143 in DispatchEventToHandlers ()
#25 0x9304857d in SendEventToEventTargetInternal ()
#26 0x930483e2 in SendEventToEventTargetWithOptions ()
#27 0x931cf520 in SendControlDefDragReceive ()
#28 0x931cf422 in ControlDragReceiveHandler ()
#29 0x931cf397 in CarbonReceiveMapper ()
#30 0x94d421b0 in DoDropMessage ()
#31 0x94d41c11 in CoreDragMessageHandler ()
#32 0x93fe8d21 in __CFMessagePortPerform ()
#33 0x9400a8e8 in CFRunLoopRunSpecific ()
#34 0x9400acd8 in CFRunLoopRunInMode ()
#35 0x00ade0b0 in QEventDispatcherMac::processEvents ()
#36 0x00374061 in QEventLoop::processEvents ()
#37 0x0037420d in QEventLoop::exec ()
#38 0x0037806e in QCoreApplication::exec ()
#39 0x000146e3 in main (argc=1, argv=0xbffff49c) at main.cpp:68
(gdb) 

For some reason the platform drag data returns an empty list of urls, which
DragData::asUrl() is attempting to return the first() entry of without checking
that it exists.


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list