Summary: | Dolphin crashes when I make 2-panel view and clicking into another panel | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Sergo <sergo> |
Component: | split view | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | evrics, kevin.reffitt, mongolie2006-kde |
Priority: | NOR | Keywords: | investigated |
Version: | 2.1 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-baseapps/4dc8ea34c26ba38f63a099dc0a82a74d6194d807 | Version Fixed In: | 4.9.3 |
Sentry Crash Report: | |||
Attachments: |
crash-report1
crash-report2 screenshot of the Dolphin's window just before craching new crash log |
Description
Sergo
2012-09-08 16:35:56 UTC
Created attachment 73749 [details]
crash-report1
Created attachment 73750 [details]
crash-report2
Thanks for the bug report! Unfortunately, I cannot reproduce the problem - maybe one needs some special settings to get the crash. Could you create a screenshot of the Dolphin window after enabling 'Split View' in the settings? Created attachment 73795 [details]
screenshot of the Dolphin's window just before craching
Процесс: kdeinit4 PID: 5355 Сигнал завершения: Segmentation fault (11)
I changed the language of Dolphin's interface. Bug is present today too:) After the posted above window appears I click into active half-window on the name of one of the folders and then click on on the folder in another half-view. The bug appears again only when after making split-window-mode the single window mode restored and Dolphin is closed and opened again. So try to make this procedure: 1. Сhange the language of Dolphin in English (to compare our actions) in Help menu, close Dolphin and open it again. The result is Dolphin with single-mode view. 2. Settings -> Configure Dolphin. Dolphin's Preferences dialog opened. 3. Check the Split view mode and press Ok. 4. Must be a Dolphin's window like I attached above. 5. Just click 1 time on the name of one folder in non-active half-window and right then on the name of another folder in active half-window. Note: if you opens Dolphin in split-window-view and clicking on the folders crash is absent. To repeat the bug you must restore single mode view and make all again. Try to click on the folders with different names. I click on the folder 'Downloads' and right after in on the folder 'public_html'. But another combination 'works' too:( Created attachment 73796 [details]
new crash log
Thanks for the detailed description, I can reproduce the crash now! I think that the problem is the line m_dirLister->setMainWindow(qApp->activeWindow()); in KFileItemModel's constructor. When "Split View" is enabled in the settings dialog, a new view is created, and the KFileItemModel which belogs to this view makes the settings dialog the main window for the dir lister. When the settings dialog is closed, the pointer becomes dangling, and when the dir lister tries to dereference it, we get a crash. Removing that line would fix the crash, but create other problems, so we have to think of something better. Git commit 4dc8ea34c26ba38f63a099dc0a82a74d6194d807 by Frank Reininghaus. Committed on 29/09/2012 at 19:47. Pushed by freininghaus into branch 'KDE/4.9'. Find out the main window by calling the parent widget's window() member KFileItemModel calls the dir lister's setMainWindow() method to make sure that the dir lister caches authentication data. However, the method used to determine the main window (qApp->activeWindow()) is not guaranteed to yield the DolphinMainWindow or the KonqMainWindow. In particular, if "Split View" is enabled in Dolphin's settings dialog, the active window is the dialog, and when it is closed, any later access to the stored pointer leads to a crash. A better method is to verify that the model's parent is a QWidget and then use this widget's window(). I had to make a small modification in DolphinMainWindow to make sure that it also works correctly when the view is split (the new view container had been created with a 0 parent previously). I tested it in Dolphin and Konqueror and verified that the "main window" passed to the dir lister is really the application's main window. FIXED-IN: 4.9.3 M +7 -1 dolphin/src/dolphinmainwindow.cpp M +6 -1 dolphin/src/kitemviews/kfileitemmodel.cpp http://commits.kde.org/kde-baseapps/4dc8ea34c26ba38f63a099dc0a82a74d6194d807 *** Bug 308843 has been marked as a duplicate of this bug. *** *** Bug 310877 has been marked as a duplicate of this bug. *** *** Bug 310952 has been marked as a duplicate of this bug. *** |