Bug 295060

Summary: Greeter crashes in ExtraRowProxy if sourceModel is empty
Product: lightdm Reporter: David Edmundson <kde>
Component: greeterAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:

Description David Edmundson 2012-02-29 11:27:12 UTC
** (process:11722): WARNING **: Failed to open sessions directory: Error opening directory '/usr/local/share/xsessions': No such file or directory

Program received signal SIGSEGV, Segmentation fault.
detach (this=0x867e30) at /usr/include/qt4/QtCore/qhash.h:299
299         inline void detach() { if (d->ref != 1) detach_helper(); }
(gdb) bt
#0  detach (this=0x867e30) at /usr/include/qt4/QtCore/qhash.h:299
#1  operator[] (akey=<synthetic pointer>, this=0x867e30) at /usr/include/qt4/QtCore/qhash.h:738
#2  ExtraRowProxyModel::setRowData (this=<optimized out>, id=0, column=0, value=..., role=0)
    at /home/david/lightdm/lightdm-kde/greeter/extrarowproxymodel.cpp:38
#3  0x000000000040d8a5 in GreeterWindow::GreeterWindow (this=0x858050, parent=<optimized out>)
    at /home/david/lightdm/lightdm-kde/greeter/greeterwindow.cpp:88
#4  0x000000000040b08a in main (argc=1, argv=0x7fffffffe0f8)
    at /home/david/lightdm/lightdm-kde/greeter/main.cpp:45
Comment 1 David Edmundson 2012-03-03 12:18:23 UTC
Git commit ad3973c82159befd92d2db199058f12e4cabb911 by David Edmundson.
Committed on 03/03/2012 at 13:16.
Pushed by davidedmundson into branch 'master'.

Convert columns to a QHash rather than a QVector in ExtraModelProxy

Previously number of columns was allocated to be the same as the number of rows which makes no sense
which caused a crash when the source model had no rows and a column was added.

M  +2    -2    greeter/extrarowproxymodel.cpp
M  +2    -2    greeter/extrarowproxymodel.h

http://commits.kde.org/lightdm/ad3973c82159befd92d2db199058f12e4cabb911