Bug 202078 - Double click on Open dialog crashes KOffice when using GTK Style
Summary: Double click on Open dialog crashes KOffice when using GTK Style
Status: RESOLVED FIXED
Alias: None
Product: kword
Classification: Miscellaneous
Component: general (show other bugs)
Version: git
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Thomas Zander
URL:
Keywords:
: 196957 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-07-31 14:02 UTC by Mani
Modified: 2009-08-05 21:26 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backtrace (5.76 KB, application/octet-stream)
2009-07-31 15:14 UTC, Mani
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mani 2009-07-31 14:02:16 UTC
Version:           KOffice2 SVN - Jul 30
OS:                Linux
Installed from:    Compiled Sources

* Start KWord and select a document.
* Double click the document to open the file (GTK Style). 
* Appln crashes.
* Appln doesn't crash when "Open Document" button is clicked.
Comment 1 Dario Andres 2009-07-31 14:49:10 UTC
Qt is using GTK style. What GTK style are you using? (or does this happen with several ones (or it doesn't matter may be). Do you get some backtrace of the crash ? Thanks
Comment 2 Mani 2009-07-31 15:14:54 UTC
Created attachment 35757 [details]
Backtrace
Comment 3 Dario Andres 2009-07-31 15:16:27 UTC
Pasting backtrace inline:

#0  0xb67ba9e5 in QTextDocument::firstBlock () from /usr/lib/libQtGui.so.4
#1  0xb2acfb35 in KWDocument::endOfLoading (this=0x9e37a30) at /home/manikcha/koffice/kword/part/KWDocument.cpp:558
#2  0xb2ad0c8b in KWDocument::loadOdf (this=0x9e37a30, odfStore=@0xbfaf57b8) at /home/manikcha/koffice/kword/part/KWDocument.cpp:534
#3  0xb804e219 in KoDocument::loadOasisFromStore (this=0x9e37a30, store=0xa736cf8) at /home/manikcha/koffice/libs/main/KoDocument.cpp:1635
#4  0xb805cb69 in KoDocument::loadNativeFormatFromStoreInternal (this=0x9e37a30, store=0xa736cf8) at /home/manikcha/koffice/libs/main/KoDocument.cpp:1529
#5  0xb805d976 in KoDocument::loadNativeFormatFromStore (this=0x9e37a30, file=@0xbfaf5a5c) at /home/manikcha/koffice/libs/main/KoDocument.cpp:1484
#6  0xb805dcb2 in KoDocument::loadNativeFormat (this=0x9e37a30, file_=@0xbfaf5bd8) at /home/manikcha/koffice/libs/main/KoDocument.cpp:1464
#7  0xb805a6c0 in KoDocument::openFile (this=0x9e37a30) at /home/manikcha/koffice/libs/main/KoDocument.cpp:1272
#8  0xb7ab083a in KParts::ReadOnlyPart::openUrl (this=0x9e37a30, url=@0xbfaf5d90) at /home/manikcha/kdelibs-4.2.2/kparts/part.cpp:558
#9  0xb805529a in KoDocument::openUrl (this=0x9e37a30, _url=@0xbfaf6064) at /home/manikcha/koffice/libs/main/KoDocument.cpp:1127
#10 0xb804f53c in KoDocument::openExistingFile (this=0x9e37a30, url=@0xbfaf6064) at /home/manikcha/koffice/libs/main/KoDocument.cpp:2236
#11 0xb805279b in KoDocument::qt_metacall (this=0x9e37a30, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0xbfaf5f3c) at /home/manikcha/koffice/qtcreator-build/libs/main/KoDocument.moc:114
#12 0xb2ac264a in KWDocument::qt_metacall (this=0x9e37a30, _c=QMetaObject::InvokeMetaMethod, _id=31, _a=0xbfaf5f3c) at /home/manikcha/koffice/qtcreator-build/kword/part/moc_KWDocument.cpp:86
#13 0xb7082ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#14 0xb7083932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#15 0xb7f60073 in KoOpenPane::openExistingFile (this=0x9f7daf0, _t1=@0xbfaf6064) at /home/manikcha/koffice/qtcreator-build/libs/widgets/openpane/KoOpenPane.moc:98
#16 0xb7f604ea in KoOpenPane::qt_metacall (this=0x9f7daf0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfaf603c) at /home/manikcha/koffice/qtcreator-build/libs/widgets/openpane/KoOpenPane.moc:80
#17 0xb7082ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#18 0xb7083932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#19 0xb7f5f6f3 in KoExistingDocumentPane::openExistingUrl (this=0x9f805e0, _t1=@0xbfaf6064) at /home/manikcha/koffice/qtcreator-build/libs/widgets/openpane/KoExistingDocumentPane.moc:83
#20 0xb7f5f7bf in KoExistingDocumentPane::onAccepted (this=0x9f805e0) at /home/manikcha/koffice/libs/widgets/openpane/KoExistingDocumentPane.cpp:56
#21 0xb7f5f83d in KoExistingDocumentPane::qt_metacall (this=0x9f805e0, _c=QMetaObject::InvokeMetaMethod, _id=7340143, _a=0xbfaf6118)
    at /home/manikcha/koffice/qtcreator-build/libs/widgets/openpane/KoExistingDocumentPane.moc:71
#22 0xb7082ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#23 0xb7083932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#24 0xb60e9417 in KFileWidget::accepted (this=0x9f8ef88) at /home/manikcha/kdelibs-4.2.2/build/kfile/kfilewidget.moc:182
#25 0xb60f476b in KFileWidget::slotOk (this=0x9f8ef88) at /home/manikcha/kdelibs-4.2.2/kfile/kfilewidget.cpp:945
#26 0xb60efb3c in KFileWidgetPrivate::_k_fileSelected (this=0x9e98850, i=@0xbfaf64b8) at /home/manikcha/kdelibs-4.2.2/kfile/kfilewidget.cpp:1050
#27 0xb60f26aa in KFileWidget::qt_metacall (this=0x9f8ef88, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbfaf645c) at /home/manikcha/kdelibs-4.2.2/build/kfile/kfilewidget.moc:133
#28 0xb7082ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#29 0xb7083932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#30 0xb60ce8e3 in KDirOperator::fileSelected (this=0xa00b350, _t1=@0xbfaf64b8) at /home/manikcha/kdelibs-4.2.2/build/kfile/kdiroperator.moc:311
#31 0xb60cf1f9 in KDirOperator::selectFile (this=0xa00b350, item=@0xbfaf64b8) at /home/manikcha/kdelibs-4.2.2/kfile/kdiroperator.cpp:1682
#32 0xb60cf364 in KDirOperator::Private::_k_slotActivated (this=0xa00daf8, index=@0xa653b90) at /home/manikcha/kdelibs-4.2.2/kfile/kdiroperator.cpp:2339
#33 0xb60db63c in KDirOperator::qt_metacall (this=0xa00b350, _c=QMetaObject::InvokeMetaMethod, _id=59, _a=0xbfaf65cc) at /home/manikcha/kdelibs-4.2.2/build/kfile/kdiroperator.moc:242
#34 0xb7082ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#35 0xb7083932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#36 0xb6ab1113 in QAbstractItemView::activated () from /usr/lib/libQtGui.so.4
#37 0xb6ab4046 in QAbstractItemView::mouseDoubleClickEvent () from /usr/lib/libQtGui.so.4
#38 0xb6595991 in QWidget::event () from /usr/lib/libQtGui.so.4
#39 0xb696f993 in QFrame::event () from /usr/lib/libQtGui.so.4
#40 0xb6a0f94f in QAbstractScrollArea::viewportEvent () from /usr/lib/libQtGui.so.4
#41 0xb6ac1647 in QAbstractItemView::viewportEvent () from /usr/lib/libQtGui.so.4
#42 0xb6a11f55 in ?? () from /usr/lib/libQtGui.so.4
#43 0xb706bc5a in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib/libQtCore.so.4
#44 0xb653ee7a in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#45 0xb6547b11 in QApplication::notify () from /usr/lib/libQtGui.so.4
#46 0xb76479fd in KApplication::notify (this=0xbfaf76fc, receiver=0xa035290, event=0xbfaf6e08) at /home/manikcha/kdelibs-4.2.2/kdeui/kernel/kapplication.cpp:307
#47 0xb706ca3b in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#48 0xb6546b7e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#49 0xb65b697e in ?? () from /usr/lib/libQtGui.so.4
#50 0xb65b5ca7 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#51 0xb65e0c6a in ?? () from /usr/lib/libQtGui.so.4
Comment 4 Dario Andres 2009-07-31 15:18:27 UTC
- What is your Qt4 version ?
- Does this do not happen with another widget style?
- Does this happen with every document or just with an specific one ?
Thanks
Comment 5 Dario Andres 2009-07-31 15:18:56 UTC
*** Bug 196957 has been marked as a duplicate of this bug. ***
Comment 6 Mani 2009-07-31 15:25:34 UTC
After some analysis, 

KFileWidget::slotOk() is being called twice (or thrice if i'm right) when file is double clicked. But when "Open document" button is cliked, slotOk is called only once. 

Crash happens when the second call is made, at this point document is already loaded. 

And this happens only for KWord, Presenter and spread works fine.
Comment 7 Mani 2009-07-31 15:29:47 UTC
Qt version - 4.5.0-0ubuntu4.1  

Appln crashes for all the documents. 

I do not get "widget style", If you are refering to themes, then i'm using default Ubuntu theme
Comment 8 Thomas Zander 2009-08-05 21:26:33 UTC
SVN commit 1007452 by zander:

It seems that on double click the KFileWidget emits accepted twice.

This should likely be fixed in the KFileWidget class itself, but this
fix is needed anyway since the user can double click on the open
button too, which we would get a crash over then.
BUG:202078

 M  +4 -1      KoExistingDocumentPane.cpp  
 M  +1 -0      KoExistingDocumentPane.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1007452