Crash when selecting conversations
How to reproduce:
- Make sure you have pending contact requests
- Select a "normal" (non-request) conversation
- Clic on the requests tab and select a pending request
- Clic on the conversations tab and select a normal conversation
- Repeat up to 10x (select different conversations)
Crash with the following backtrace:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x000000010061a162 libringclient.1.0.0.dylib`std::__1::__tree_node_base<void*>*& std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__find_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(this=<unavailable>, __parent=0x00007ffeefbfb338, __v="") at __tree:0 [opt]
* frame #1: 0x00000001006e9c0c libringclient.1.0.0.dylib`lrc::api::ContactModel::getContact(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const [inlined] std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, lrc::api::contact::Info, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, lrc::api::contact::Info> > >::at(this=<unavailable>, __k=<unavailable>) at map:1373 [opt]
frame #2: 0x00000001006e9bfc libringclient.1.0.0.dylib`lrc::api::ContactModel::getContact(this=0x0000608000239d40, contactUri=<unavailable>) const at contactmodel.cpp:319 [opt]
frame #3: 0x00000001000c94c4 Ring`bestNameForConversation(conv=0x00007ffeefbfc5c0, model=0x000060800023a120) at utils.h:83
frame #4: 0x00000001000c6db0 Ring`::-[SmartViewVC tableView:viewForTableColumn:row:](self=0x0000000103c0b110, _cmd="tableView:viewForTableColumn:row:", tableView=0x0000000103a318b0, tableColumn=0x000060c000093b00, row=17) at SmartViewVC.mm:435
frame #5: 0x00007fff2dda079b AppKit`-[NSTableView(NSTableViewViewBased) _delegate_viewForTableColumn:row:] + 86
frame #6: 0x00007fff2dd1aec4 AppKit`-[NSTableView(NSTableViewViewBased) makeViewForTableColumn:row:] + 87
frame #7: 0x00007fff2dd1a747 AppKit`-[NSTableRowData _addViewToRowView:atColumn:row:] + 342
frame #8: 0x00007fff2dd1a421 AppKit`-[NSTableRowData _addViewsToRowView:atRow:] + 211
frame #9: 0x00007fff2dd18aa4 AppKit`-[NSTableRowData _initializeRowView:atRow:] + 397
frame #10: 0x00007fff2e60496a AppKit`-[NSTableRowData _preparedRowViewForRow:storageHandler:] + 154
frame #11: 0x00007fff2df7149c AppKit`-[NSTableRowData _makeTemporaryPreparedRowViewForRow:] + 230
frame #12: 0x00000001000c5fb1 Ring`::-[SmartViewVC tableViewSelectionDidChange:](self=0x0000000103c0b110, _cmd="tableViewSelectionDidChange:", notification="NSTableViewSelectionDidChangeNotification") at SmartViewVC.mm:386
frame #13: 0x00007fff3068dedc CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
frame #14: 0x00007fff3068ddaa CoreFoundation`_CFXRegistrationPost + 458
frame #15: 0x00007fff3068dae1 CoreFoundation`___CFXNotificationPost_block_invoke + 225
frame #16: 0x00007fff3064b880 CoreFoundation`-[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1664
frame #17: 0x00007fff3064a9b7 CoreFoundation`_CFXNotificationPost + 599
frame #18: 0x00007fff3275a8c7 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 66
frame #19: 0x00007fff2dd9ddcb AppKit`-[NSTableView _sendSelectionChangedNotificationForRows:columns:] + 230
frame #20: 0x00007fff2df001c0 AppKit`-[NSTableView deselectAll:] + 186
frame #21: 0x00000001000c2d0e Ring`::-[SmartViewVC reloadData](self=0x0000000103c0b110, _cmd="reloadData") at SmartViewVC.mm:169
frame #22: 0x00000001000d4570 Ring`-[SmartViewVC setConversationModel:]::$_3::operator(this=0x000060000023b1f0)() const at SmartViewVC.mm:249
frame #23: 0x00000001000d4539 Ring`QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, -[SmartViewVC setConversationModel:]::$_3>::call(f=0x000060000023b1f0, arg=0x00007ffeefbfe228) at qobjectdefs_impl.h:128
frame #24: 0x00000001000d44d1 Ring`void QtPrivate::Functor<-[SmartViewVC setConversationModel:]::$_3, 0>::call<QtPrivate::List<>, void>(f=0x000060000023b1f0, (null)=0x000060800023a120, arg=0x00007ffeefbfe228) at qobjectdefs_impl.h:238
frame #25: 0x00000001000d447d Ring`QtPrivate::QFunctorSlotObject<-[SmartViewVC setConversationModel:]::$_3, 0, QtPrivate::List<>, void>::impl(which=1, this_=0x000060000023b1e0, r=0x000060800023a120, a=0x00007ffeefbfe228, ret=0x0000000000000000) at qobjectdefs_impl.h:421
frame #26: 0x0000000101833e42 QtCore`QMetaObject::activate(QObject*, int, int, void**) + 1474
frame #27: 0x00000001000c59f8 Ring`::-[SmartViewVC listTypeChanged:](self=0x0000000103c0b110, _cmd="listTypeChanged:", sender=0x000060c000184b90) at SmartViewVC.mm:334
frame #28: 0x00007fff2e3aba43 AppKit`-[NSApplication(NSResponder) sendAction:to:from:] + 312
frame #29: 0x00007fff2de5153f AppKit`-[NSControl sendAction:to:] + 86
frame #30: 0x00007fff2de51467 AppKit`__26-[NSCell _sendActionFrom:]_block_invoke + 136
frame #31: 0x00007fff2de5136d AppKit`-[NSCell _sendActionFrom:] + 183
frame #32: 0x00007fff2de512a0 AppKit`-[NSSegmentedCell _sendActionFrom:] + 161
frame #33: 0x00007fff2de4fbd6 AppKit`-[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 2438
frame #34: 0x00007fff2de4edb2 AppKit`-[NSSegmentedCell trackMouse:inRect:ofView:untilMouseUp:] + 818
frame #35: 0x00007fff2de4e670 AppKit`-[NSControl mouseDown:] + 965
frame #36: 0x00007fff2e54ad6d AppKit`-[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 5891
frame #37: 0x00007fff2e5479c4 AppKit`-[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2359
frame #38: 0x00007fff2e546c70 AppKit`-[NSWindow(NSEventRouting) sendEvent:] + 497
frame #39: 0x00007fff2e3a8236 AppKit`-[NSApplication(NSEvent) sendEvent:] + 2462