Bug 260955 - System Settings crashes while deleting Fonts
Summary: System Settings crashes while deleting Fonts
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_fontinst (show other bugs)
Version: 1.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Craig Drummond
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-22 10:59 UTC by seraphim.asmodea
Modified: 2011-06-28 18:24 UTC (History)
0 users

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 seraphim.asmodea 2010-12-22 10:59:59 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.5.4 (KDE 4.5.4)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-24-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
I was recently deleting some of the many fonts installed in my Kubuntu, when I was deleting one of them, the System Settings crashed…

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
[Current thread is 1 (Thread 0xb77f5710 (LWP 2390))]

Thread 2 (Thread 0xb445cb70 (LWP 2391)):
#0  0x06b10e36 in clock_gettime () from /lib/librt.so.1
#1  0x00b1250b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x00be96e5 in QTimerInfoList::updateCurrentTime (this=0x9b5417c) at kernel/qeventdispatcher_unix.cpp:339
#4  0x00be972a in QTimerInfoList::timerWait (this=0x9b5417c, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x00be77a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb445c0bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x00be783d in timerSourcePrepare (source=0x0, timeout=0x6b14ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x025e0e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x025e1279 in ?? () from /lib/libglib-2.0.so.0
#9  0x025e1848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00be759f in QEventDispatcherGlib::processEvents (this=0x9e2e968, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x00bb7609 in QEventLoop::processEvents (this=0xb445c290, flags=) at kernel/qeventloop.cpp:149
#12 0x00bb7a8a in QEventLoop::exec (this=0xb445c290, flags=...) at kernel/qeventloop.cpp:201
#13 0x00ab3b7e in QThread::exec (this=0x9b29a08) at thread/qthread.cpp:490
#14 0x00b9635b in QInotifyFileSystemWatcherEngine::run (this=0x9b29a08) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x00ab6df9 in QThreadPrivate::start (arg=0x9b29a08) at thread/qthread_unix.cpp:266
#16 0x004cfcc9 in start_thread () from /lib/libpthread.so.0
#17 0x079ae69e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb77f5710 (LWP 2390)):
[KCrash Handler]
#7  0x014b1906 in QSortFilterProxyModelPrivate::proxy_to_source (this=0x9f2f1c8, proxy_index=...) at itemviews/qsortfilterproxymodel.cpp:369
#8  0x014b1a73 in QSortFilterProxyModel::mapToSource (this=0xa01d250, proxyIndex=...) at itemviews/qsortfilterproxymodel.cpp:2491
#9  0x014a7ea4 in QSortFilterProxyModel::flags (this=0x9f2f1c8, index=...) at itemviews/qsortfilterproxymodel.cpp:1982
#10 0x0140ed9b in flags (this=0xa058788, event=0xbfca23b0) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:401
#11 QAbstractItemView::focusInEvent (this=0xa058788, event=0xbfca23b0) at itemviews/qabstractitemview.cpp:2106
#12 0x00ea2f01 in QWidget::event (this=0xa058788, event=0xbfca23b0) at kernel/qwidget.cpp:8296
#13 0x012c4763 in QFrame::event (this=0xa058788, e=0xbfca23b0) at widgets/qframe.cpp:557
#14 0x01362487 in QAbstractScrollArea::event (this=0xa058788, e=0xbfca23b0) at widgets/qabstractscrollarea.cpp:996
#15 0x01416a1c in QAbstractItemView::event (this=0xa058788, event=0xbfca23b0) at itemviews/qabstractitemview.cpp:1555
#16 0x00e44fdc in QApplicationPrivate::notify_helper (this=0x9a534b0, receiver=0xa058788, e=0xbfca23b0) at kernel/qapplication.cpp:4396
#17 0x00e4b0e9 in QApplication::notify (this=0xbfca2c2c, receiver=0xa058788, e=0xbfca23b0) at kernel/qapplication.cpp:4361
#18 0x002ea05a in KApplication::notify (this=0xbfca2c2c, receiver=0xa058788, event=0xbfca23b0) at ../../kdeui/kernel/kapplication.cpp:310
#19 0x00bb8b3b in QCoreApplication::notifyInternal (this=0xbfca2c2c, receiver=0xa058788, event=0xbfca23b0) at kernel/qcoreapplication.cpp:732
#20 0x00e536ce in QCoreApplication::sendEvent (receiver=0xa058788, event=0x9f2f1c8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#21 0x00e494c6 in QApplicationPrivate::setFocusWidget (focus=0xa058788, reason=Qt::ActiveWindowFocusReason) at kernel/qapplication.cpp:2189
#22 0x00e9dd30 in QWidget::setFocus (this=0xa058788, reason=Qt::ActiveWindowFocusReason) at kernel/qwidget.cpp:6283
#23 0x00e4f7f1 in QApplication::setActiveWindow (act=0x9b44e38) at kernel/qapplication.cpp:2567
#24 0x00ed7877 in QApplication::x11ProcessEvent (this=0xbfca2c2c, event=0xbfca288c) at kernel/qapplication_x11.cpp:3455
#25 0x00f0736a in x11EventSourceDispatch (s=0x9a56540, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#26 0x025dd855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#27 0x025e1668 in ?? () from /lib/libglib-2.0.so.0
#28 0x025e1848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#29 0x00be7565 in QEventDispatcherGlib::processEvents (this=0x9a2c9e8, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#30 0x00f06be5 in QGuiEventDispatcherGlib::processEvents (this=0x9a2c9e8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#31 0x00bb7609 in QEventLoop::processEvents (this=0xbfca2b84, flags=) at kernel/qeventloop.cpp:149
#32 0x00bb7a8a in QEventLoop::exec (this=0xbfca2b84, flags=...) at kernel/qeventloop.cpp:201
#33 0x00bbc00f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#34 0x00e43e07 in QApplication::exec () at kernel/qapplication.cpp:3672
#35 0x0805731e in _start ()

Reported using DrKonqi
Comment 1 Craig Drummond 2011-06-28 18:24:24 UTC
Git commit fa685cee73c50bde3b3782b2d849f814fb613ca2 by Craig Drummond.
Committed on 28/06/2011 at 20:11.
Pushed by craig into branch 'KDE/4.6'.

Use beginInsertRows/endInsertRows and beginRemoveRows/endRemoveRows as detailed in the QAbstractItemModel documentation. Should fix the crashes, which were probbably caused by the model not indicating properly when it changed.
BUG:191304
BUG:228119
BUG:260955

M  +27   -36   kcontrol/kfontinst/kcmfontinst/FontList.cpp     
M  +3    -1    kcontrol/kfontinst/kcmfontinst/KCmFontInst.cpp     

http://commits.kde.org/kde-workspace/fa685cee73c50bde3b3782b2d849f814fb613ca2
Comment 2 Craig Drummond 2011-06-28 18:24:28 UTC
Git commit ea1091a64c2c0891b5104c773a06944a5184d428 by Craig Drummond.
Committed on 28/06/2011 at 20:16.
Pushed by craig into branch 'master'.

Use beginInsertRows/endInsertRows and beginRemoveRows/endRemoveRows as detailed in the QAbstractItemModel documentation. Should fix the crashes, which were probbably caused by the model not indicating properly when it changed.
BUG:191304
BUG:228119
BUG:260955

M  +27   -36   kcontrol/kfontinst/kcmfontinst/FontList.cpp     
M  +3    -1    kcontrol/kfontinst/kcmfontinst/KCmFontInst.cpp     

http://commits.kde.org/kde-workspace/ea1091a64c2c0891b5104c773a06944a5184d428