Version: (using KDE 4.2.85) OS: Linux Installed from: Unlisted Binary Package Steps to reproduce: make a project that has a PO file without corresponding POT file. open a project wait for stats to load open a branch in project to see the file. delete a PO file that is visible in project. crash. I will investigate this. call trace: Application: Lokalize (lokalize), signal: Segmentation fault [Current thread is 0 (LWP 6724)] Thread 3 (Thread 0xb4236b90 (LWP 6725)): #0 0xb8010424 in __kernel_vsyscall () #1 0xb66f2945 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6750442 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0xb78b0b40 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned () from /usr/lib/libthreadweaver.so.4 #4 0xb78b31ec in ThreadWeaver::WorkingHardState::waitForAvailableJob () from /usr/lib/libthreadweaver.so.4 #5 0xb78af1db in ThreadWeaver::WeaverImpl::waitForAvailableJob () from /usr/lib/libthreadweaver.so.4 #6 0xb78b32ea in ThreadWeaver::WorkingHardState::applyForWork () from /usr/lib/libthreadweaver.so.4 #7 0xb78b0dd3 in ThreadWeaver::WeaverImpl::applyForWork () from /usr/lib/libthreadweaver.so.4 #8 0xb78b13de in ThreadWeaver::ThreadRunHelper::run () from /usr/lib/libthreadweaver.so.4 #9 0xb78b19fb in ThreadWeaver::Thread::run () from /usr/lib/libthreadweaver.so.4 #10 0xb674f40e in ?? () from /usr/lib/libQtCore.so.4 #11 0xb66ee4c5 in start_thread () from /lib/libpthread.so.0 #12 0xb653af9e in clone () from /lib/libc.so.6 Thread 2 (Thread 0xb311ab90 (LWP 6728)): #0 0xb8010424 in __kernel_vsyscall () #1 0xb66f2945 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6750442 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0xb78b0b40 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned () from /usr/lib/libthreadweaver.so.4 #4 0xb78b31ec in ThreadWeaver::WorkingHardState::waitForAvailableJob () from /usr/lib/libthreadweaver.so.4 #5 0xb78af1db in ThreadWeaver::WeaverImpl::waitForAvailableJob () from /usr/lib/libthreadweaver.so.4 #6 0xb78b32ea in ThreadWeaver::WorkingHardState::applyForWork () from /usr/lib/libthreadweaver.so.4 #7 0xb78b0dd3 in ThreadWeaver::WeaverImpl::applyForWork () from /usr/lib/libthreadweaver.so.4 #8 0xb78b13de in ThreadWeaver::ThreadRunHelper::run () from /usr/lib/libthreadweaver.so.4 #9 0xb78b19fb in ThreadWeaver::Thread::run () from /usr/lib/libthreadweaver.so.4 #10 0xb674f40e in ?? () from /usr/lib/libQtCore.so.4 #11 0xb66ee4c5 in start_thread () from /lib/libpthread.so.0 #12 0xb653af9e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb5c42710 (LWP 6724)): [KCrash Handler] #6 0xb7dfd418 in KFileItem::isDir () from /usr/lib/libkio.so.5 #7 0x080c4ebe in ProjectModel::data (this=0xa0b7698, index=@0xbfd2a69c, role=6) at /home/koks/Cilveki/Viesturs/projects/KDE/trunk/kdesdk/lokalize/src/project/projectmodel.cpp:600 #8 0xb705319e in QSortFilterProxyModel::data () from /usr/lib/libQtGui.so.4 #9 0xb701a3e7 in QItemDelegate::setOptions () from /usr/lib/libQtGui.so.4 #10 0xb701b9a6 in QItemDelegate::paint () from /usr/lib/libQtGui.so.4 #11 0x080c8218 in PoItemDelegate::paint (this=0xa271eb8, painter=0xbfd2aec8, option=@0xbfd2aaf8, index=@0xbfd2ac54) at /home/koks/Cilveki/Viesturs/projects/KDE/trunk/kdesdk/lokalize/src/project/projectwidget.cpp:58 #12 0xb700754b in QTreeView::drawRow () from /usr/lib/libQtGui.so.4 #13 0xb700e277 in QTreeView::drawTree () from /usr/lib/libQtGui.so.4 #14 0xb700eb72 in QTreeView::paintEvent () from /usr/lib/libQtGui.so.4 #15 0xb6aad95e in QWidget::event () from /usr/lib/libQtGui.so.4 #16 0xb6e823d3 in QFrame::event () from /usr/lib/libQtGui.so.4 #17 0xb6f21d2f in QAbstractScrollArea::viewportEvent () from /usr/lib/libQtGui.so.4 #18 0xb6fd33f7 in QAbstractItemView::viewportEvent () from /usr/lib/libQtGui.so.4 #19 0xb700d3c6 in QTreeView::viewportEvent () from /usr/lib/libQtGui.so.4 #20 0xb6f24325 in ?? () from /usr/lib/libQtGui.so.4 #21 0xb684146a in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib/libQtCore.so.4 #22 0xb6a576ca in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #23 0xb6a5faa2 in QApplication::notify () from /usr/lib/libQtGui.so.4 #24 0xb7a8ddaa in KApplication::notify () from /usr/lib/libkdeui.so.5 #25 0xb684224b in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #26 0xb6a6277e in QCoreApplication::sendSpontaneousEvent () from /usr/lib/libQtGui.so.4 #27 0xb6ab56b9 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4 #28 0xb6c6de5f in ?? () from /usr/lib/libQtGui.so.4 #29 0xb6aa62f6 in QWidgetPrivate::syncBackingStore () from /usr/lib/libQtGui.so.4 #30 0xb6aaddc5 in QWidget::event () from /usr/lib/libQtGui.so.4 #31 0xb6e9fab7 in QMainWindow::event () from /usr/lib/libQtGui.so.4 #32 0xb7b74944 in KMainWindow::event () from /usr/lib/libkdeui.so.5 #33 0xb7bbc15f in KXmlGuiWindow::event () from /usr/lib/libkdeui.so.5 #34 0xb6a576ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #35 0xb6a5faa2 in QApplication::notify () from /usr/lib/libQtGui.so.4 #36 0xb7a8ddaa in KApplication::notify () from /usr/lib/libkdeui.so.5 #37 0xb684224b in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #38 0xb6842e85 in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4 #39 0xb684307d in QCoreApplication::sendPostedEvents () from /usr/lib/libQtCore.so.4 #40 0xb686dd2f in ?? () from /usr/lib/libQtCore.so.4 #41 0xb6105718 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #42 0xb6108c7b in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #43 0xb6108df8 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #44 0xb686d978 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #45 0xb6af62a5 in ?? () from /usr/lib/libQtGui.so.4 #46 0xb684087a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #47 0xb6840cba in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #48 0xb6843149 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #49 0xb6a57567 in QApplication::exec () from /usr/lib/libQtGui.so.4 #50 0x08071773 in main (argc=1, argv=0xbfd2c484) at /home/koks/Cilveki/Viesturs/projects/KDE/trunk/kdesdk/lokalize/src/main.cpp:109
Created attachment 33775 [details] path to fix the crash. This patch fixes the crash. But the implementation still looses POT folder contents when a PO directory is created or deleted. This is a design issue. Work for 4.4... Also the patch contains code for hilighting files with no stats (total is zero).
SVN commit 972296 by shaforo: BUG:193028 M +21 -11 projectmodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=972296
SVN commit 972298 by shaforo: highlighting files with no stats (total is zero) - patch by Viesturs Zarins CCBUG:193028 M +7 -2 projectwidget.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=972298