Bug 278000 - Calligra applications crash when removing split views
Summary: Calligra applications crash when removing split views
Status: RESOLVED FIXED
Alias: None
Product: calligracommon
Classification: Applications
Component: general (show other bugs)
Version: 2.4-snapshots
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
: 283372 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-07-18 09:46 UTC by Halla Rempt
Modified: 2011-10-05 09:24 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Halla Rempt 2011-07-18 09:46:54 UTC
Application: calligrawords (2.4 Alpha 3)
KDE Platform Version: 4.6.5 (4.6.5)
Qt Version: 4.7.4
Operating System: Linux 2.6.37.6-0.5-desktop x86_64
Distribution: "openSUSE 11.4 (x86_64)"

-- Information about the crash:
I tried with Words and Krita: if you split a view a couple of times and then start removing views, the tooldocker crashes when it tries to relayout.

The crash can be reproduced some of the time.

-- Backtrace:
Application: Words (calligrawords), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f4e64f9f760 (LWP 10256))]

Thread 2 (Thread 0x7f4e464f3700 (LWP 10257)):
#0  0x00007f4e5e7ec503 in poll () from /lib64/libc.so.6
#1  0x00007f4e59442114 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007f4e59442650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f4e5f5b0256 in QEventDispatcherGlib::processEvents (this=0xcff1d0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f4e5f584862 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f4e5f584a75 in QEventLoop::exec (this=0x7f4e464f2de0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f4e5f4997f4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x00007f4e5f565f98 in QInotifyFileSystemWatcherEngine::run (this=0xd632e0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f4e5f49c0e5 in QThreadPrivate::start (arg=0xd632e0) at thread/qthread_unix.cpp:331
#9  0x00007f4e5f20ba3f in start_thread () from /lib64/libpthread.so.0
#10 0x00007f4e5e7f567d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4e64f9f760 (LWP 10256)):
[KCrash Handler]
#6  0x00007f4e6043844c in QWidget::window() const () from /usr/lib64/libQtGui.so.4
#7  0x00007f4e6044b851 in QWidget::setParent(QWidget*, QFlags<Qt::WindowType>) () from /usr/lib64/libQtGui.so.4
#8  0x00007f4e6044c162 in QWidget::setParent(QWidget*) () from /usr/lib64/libQtGui.so.4
#9  0x00007f4e6490d1ae in KoToolDocker::Private::recreateLayout (this=0xbd5580, optionWidgetList=...) at /home/boud/kde/src/calligra/libs/main/KoToolDocker.cpp:77
#10 0x00007f4e6490cece in locationChanged (area=<optimized out>, this=<optimized out>) at /home/boud/kde/src/calligra/libs/main/KoToolDocker.cpp:155
#11 KoToolDocker::qt_metacall (this=0xb9dac0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fff7d27b8f0) at /home/boud/kde/build/calligra/libs/main/KoToolDocker_p.moc:84
#12 0x00007f4e5f599aaf in QMetaObject::activate (sender=0xb9dac0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff7d27b8f0) at kernel/qobject.cpp:3278
#13 0x00007f4e607dd2a1 in QDockWidget::dockLocationChanged(Qt::DockWidgetArea) () from /usr/lib64/libQtGui.so.4
#14 0x00007f4e607e82b3 in ?? () from /usr/lib64/libQtGui.so.4
#15 0x00007f4e607e8819 in ?? () from /usr/lib64/libQtGui.so.4
#16 0x00007f4e6080d58f in ?? () from /usr/lib64/libQtGui.so.4
#17 0x00007f4e6080fae5 in ?? () from /usr/lib64/libQtGui.so.4
#18 0x00007f4e60809224 in QMainWindow::restoreState(QByteArray const&, int) () from /usr/lib64/libQtGui.so.4
#19 0x00007f4e61160d1d in KMainWindow::applyMainWindowSettings(KConfigGroup const&, bool) () from /usr/lib64/libkdeui.so.5
#20 0x00007f4e61160f15 in KXmlGuiWindow::applyMainWindowSettings(KConfigGroup const&, bool) () from /usr/lib64/libkdeui.so.5
#21 0x00007f4e610a7720 in KXmlGuiWindow::finalizeGUI(bool) () from /usr/lib64/libkdeui.so.5
#22 0x00007f4e611e715b in KXMLGUIFactory::addClient(KXMLGUIClient*) () from /usr/lib64/libkdeui.so.5
#23 0x00007f4e648f767d in KoMainWindow::slotActivePartChanged (this=0x95f630, newPart=0x7969d0) at /home/boud/kde/src/calligra/libs/main/KoMainWindow.cpp:1640
#24 0x00007f4e648f4f64 in KoMainWindow::qt_metacall (this=0x95f630, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fff7d27c740) at /home/boud/kde/build/calligra/libs/main/KoMainWindow.moc:174
#25 0x00007f4e5f599aaf in QMetaObject::activate (sender=0xb8c9f0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff7d27c740) at kernel/qobject.cpp:3278
#26 0x00007f4e62778f22 in KParts::PartManager::activePartChanged(KParts::Part*) () from /usr/lib64/libkparts.so.4
#27 0x00007f4e62779c51 in KParts::PartManager::setActivePart(KParts::Part*, QWidget*) () from /usr/lib64/libkparts.so.4
#28 0x00007f4e648f2cc0 in KoMainWindow::slotRemoveView (this=0x95f630) at /home/boud/kde/src/calligra/libs/main/KoMainWindow.cpp:1530
#29 0x00007f4e648f4eaf in KoMainWindow::qt_metacall (this=0x95f630, _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0x7fff7d27c9c0) at /home/boud/kde/build/calligra/libs/main/KoMainWindow.moc:164
#30 0x00007f4e5f599aaf in QMetaObject::activate (sender=0xbac870, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff7d27c9c0) at kernel/qobject.cpp:3278
#31 0x00007f4e603f0d12 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#32 0x00007f4e603f0f0a in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#33 0x00007f4e6082a9e3 in ?? () from /usr/lib64/libQtGui.so.4
#34 0x00007f4e608309fa in ?? () from /usr/lib64/libQtGui.so.4
#35 0x00007f4e60832c39 in QMenu::keyPressEvent(QKeyEvent*) () from /usr/lib64/libQtGui.so.4
#36 0x00007f4e61105bb6 in KMenu::keyPressEvent(QKeyEvent*) () from /usr/lib64/libkdeui.so.5
#37 0x00007f4e60448ce0 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#38 0x00007f4e60831beb in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#39 0x00007f4e603f70a4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#40 0x00007f4e603ffd84 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#41 0x00007f4e6105e346 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#42 0x00007f4e5f58540c in QCoreApplication::notifyInternal (this=0x7fff7d27e580, receiver=0x1cee950, event=0x7fff7d27d630) at kernel/qcoreapplication.cpp:787
#43 0x00007f4e60498c48 in ?? () from /usr/lib64/libQtGui.so.4
#44 0x00007f4e604990cf in ?? () from /usr/lib64/libQtGui.so.4
#45 0x00007f4e60474ffc in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#46 0x00007f4e6049d0e2 in ?? () from /usr/lib64/libQtGui.so.4
#47 0x00007f4e59441bd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#48 0x00007f4e594423b0 in ?? () from /lib64/libglib-2.0.so.0
#49 0x00007f4e59442650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#50 0x00007f4e5f5b01ff in QEventDispatcherGlib::processEvents (this=0x60f010, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#51 0x00007f4e6049cd7e in ?? () from /usr/lib64/libQtGui.so.4
#52 0x00007f4e5f584862 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#53 0x00007f4e5f584a75 in QEventLoop::exec (this=0x7fff7d27e530, flags=...) at kernel/qeventloop.cpp:201
#54 0x00007f4e5f588ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#55 0x00007f4e64bcfd35 in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/calligra/words/part/main.cpp:43
#56 0x00007f4e5e740bfd in __libc_start_main () from /lib64/libc.so.6
#57 0x0000000000400879 in _start () at ../sysdeps/x86_64/elf/start.S:113

Reported using DrKonqi
Comment 1 Nikolay Rysev 2011-10-05 07:01:35 UTC
*** Bug 283372 has been marked as a duplicate of this bug. ***
Comment 2 Halla Rempt 2011-10-05 09:24:47 UTC
Git commit e08bce93e67dcf0383001ccd3277693af2385fd8 by Boudewijn Rempt.
Committed on 05/10/2011 at 10:48.
Pushed by rempt into branch 'master'.

Remove split view functionality

The Calligra split view functionality has some serious problems:

* we cannot split and have two documents in one view
* it is buggy
* the action list is loaded twice when splitting the view, which means
  that all shortcuts stop working because they are duplicated

REVIEW:101993

BUG:278000
BUG:265200
BUG:239309

We need to redesign this feature and implement it properly. The age-old
hacks (veryHackyActionList...) cannot be fixed, so remove the current
implementation.

M  +0    -3    flow/part/flow.rc
M  +0    -2    karbon/data/karbon.rc
M  +5    -4    libs/main/KoDocument.cpp
M  +5    -136  libs/main/KoMainWindow.cpp
M  +0    -12   libs/main/KoMainWindow.h
M  +0    -3    stage/part/stage.rc
M  +0    -2    stage/stage.rc
M  +0    -3    tables/tables.rc
M  +0    -3    words/part/words.rc

http://commits.kde.org/calligra/e08bce93e67dcf0383001ccd3277693af2385fd8