This is the debug logging I added:
void WindowsList::updateWorkspaceRole(int workspace) { Q_UNUSED(workspace);
qDebug() << Q_FUNC_INFO << this; WindowInfo *window = qobject_cast<WindowInfo*>(sender()); qDebug() << Q_FUNC_INFO << this << window << window->title(); if (window != NULL) { int row = m_windows.indexOf(window); qDebug() << Q_FUNC_INFO << this << "row:" << row; if (row != -1) { QModelIndex changedItem = index(row); qDebug() << Q_FUNC_INFO << this << "changedItem:" << changedItem; Q_EMIT dataChanged(changedItem, changedItem); } } qDebug() << Q_FUNC_INFO << this << "EXIT"; }
And here is a sample of the output before the crash:
unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(0x83fe920) WindowInfo(0x863af60) "rdale@ubuntu: /tmp" unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(0x83fe920) WindowInfo(0x864ea38) "rdale@ubuntu: ~/src/unity-2d/build" unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(0x83fe920) WindowInfo(0x8617dd8) "rdale@ubuntu: ~" unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(0x83fe920) WindowInfo(0x845e4e0) "windowslist.cpp - unity-2d - Qt Creator" unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(0x83fe920) WindowInfo(0x8583af0) "Ubuntu Start Page - Mozilla Firefox" unity-2d-spread: [WARNING] Wnck: Received a timestamp of 0; window activation may not function properly.
unity-2d-spread: [DEBUG] virtual WindowInfo::~WindowInfo() WindowInfo(0x863af60) "rdale@ubuntu: /tmp" unity-2d-spread: [DEBUG] virtual WindowInfo::~WindowInfo() WindowInfo(0x864ea38) "rdale@ubuntu: ~/src/unity-2d/build" unity-2d-spread: [DEBUG] virtual WindowInfo::~WindowInfo() WindowInfo(0x8617dd8) "rdale@ubuntu: ~" unity-2d-spread: [DEBUG] virtual WindowInfo::~WindowInfo() WindowInfo(0x845e4e0) "windowslist.cpp - unity-2d - Qt Creator" unity-2d-spread: [DEBUG] virtual WindowInfo::~WindowInfo() WindowInfo(0x8583af0) "Ubuntu Start Page - Mozilla Firefox" unity-2d-spread: [DEBUG] void WindowsList::addWindow(BamfView*) WindowsList(0x83fe920) WindowInfo(0x83bbe90) "Qt Creator" unity-2d-spread: [DEBUG] void WindowsList::updateWorkspaceRole(int) WindowsList(0x83fe920) unity-2d-spread: [DEBUG] void WindowsList::updateWorkspaceRole(int) WindowsList(0x83fe920) WindowInfo(0x83bbe90) "Qt Creator" unity-2d-spread: [DEBUG] void WindowsList::updateWorkspaceRole(int) WindowsList(0x83fe920) row: 0 unity-2d-spread: [DEBUG] void WindowsList::updateWorkspaceRole(int) WindowsList(0x83fe920) changedItem: QModelIndex(0,0,0x0,WindowsList(0x83fe920) ) terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
This is the debug logging I added:
void WindowsList: :updateWorkspac eRole(int workspace) workspace) ;
{
Q_UNUSED(
qDebug() << Q_FUNC_INFO << this; cast<WindowInfo *>(sender( )); indexOf( window) ;
QModelInde x changedItem = index(row);
qDebug( ) << Q_FUNC_INFO << this << "changedItem:" << changedItem; changedItem, changedItem);
WindowInfo *window = qobject_
qDebug() << Q_FUNC_INFO << this << window << window->title();
if (window != NULL) {
int row = m_windows.
qDebug() << Q_FUNC_INFO << this << "row:" << row;
if (row != -1) {
Q_EMIT dataChanged(
}
}
qDebug() << Q_FUNC_INFO << this << "EXIT";
}
And here is a sample of the output before the crash:
unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList( 0x83fe920) WindowInfo( 0x863af60) "rdale@ubuntu: /tmp" 0x83fe920) WindowInfo( 0x864ea38) "rdale@ubuntu: ~/src/unity- 2d/build" 0x83fe920) WindowInfo( 0x8617dd8) "rdale@ubuntu: ~" 0x83fe920) WindowInfo( 0x845e4e0) "windowslist.cpp - unity-2d - Qt Creator" 0x83fe920) WindowInfo( 0x8583af0) "Ubuntu Start Page - Mozilla Firefox"
unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(
unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(
unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(
unity-2d-spread: [DEBUG] void WindowsList::load() WindowsList(
unity-2d-spread: [WARNING] Wnck: Received a timestamp of 0; window activation may not function properly.
unity-2d-spread: [DEBUG] virtual WindowInfo: :~WindowInfo( ) WindowInfo( 0x863af60) "rdale@ubuntu: /tmp" :~WindowInfo( ) WindowInfo( 0x864ea38) "rdale@ubuntu: ~/src/unity- 2d/build" :~WindowInfo( ) WindowInfo( 0x8617dd8) "rdale@ubuntu: ~" :~WindowInfo( ) WindowInfo( 0x845e4e0) "windowslist.cpp - unity-2d - Qt Creator" :~WindowInfo( ) WindowInfo( 0x8583af0) "Ubuntu Start Page - Mozilla Firefox" :addWindow( BamfView* ) WindowsList( 0x83fe920) WindowInfo( 0x83bbe90) "Qt Creator" :updateWorkspac eRole(int) WindowsList( 0x83fe920) :updateWorkspac eRole(int) WindowsList( 0x83fe920) WindowInfo( 0x83bbe90) "Qt Creator" :updateWorkspac eRole(int) WindowsList( 0x83fe920) row: 0 :updateWorkspac eRole(int) WindowsList( 0x83fe920) changedItem: QModelIndex( 0,0,0x0, WindowsList( 0x83fe920) )
unity-2d-spread: [DEBUG] virtual WindowInfo:
unity-2d-spread: [DEBUG] virtual WindowInfo:
unity-2d-spread: [DEBUG] virtual WindowInfo:
unity-2d-spread: [DEBUG] virtual WindowInfo:
unity-2d-spread: [DEBUG] void WindowsList:
unity-2d-spread: [DEBUG] void WindowsList:
unity-2d-spread: [DEBUG] void WindowsList:
unity-2d-spread: [DEBUG] void WindowsList:
unity-2d-spread: [DEBUG] void WindowsList:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc