Using master. During startup, if you open `Window` -> `Console` and try and execute any command (can be garbage) `bitcoin-qt` will crash:
```bash
On branch pull/16118/local-merge

Process 89287 launched: '/Users/michael/github/bitcoin/src/qt/bitcoin-qt' (x86_64)
2019-05-29 09:57:56.276746-0400 bitcoin-qt[89287:939924] MessageTracer: Falling back to default whitelist
Process 89287 stopped
* thread #1, name = 'bitcoin-main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
    frame #0: 0x00000001015158ba QtWidgets`QCompleter::popup() const + 10
QtWidgets`QCompleter::popup:
->  0x1015158ba <+10>: movq   0x8(%rdi), %rbx
    0x1015158be <+14>: movq   0x88(%rbx), %rax
    0x1015158c5 <+21>: testq  %rax, %rax
    0x1015158c8 <+24>: jne    0x101515942               ; <+146>
Target 0: (bitcoin-qt) stopped.
```

Not sure if just disabling the menu, like in #16118 would be ok, as a user might actually want to be able to run a command.
{
    if (!clientModel || !clientModel->getPeerTableModel())
        return;
    const CNodeCombinedStats *stats = nullptr;
    bool fUnselect = false;
    bool fReselect = false;
    if (cachedNodeids.empty()) // n
        return;
    // f
    int selectedRow = -1;
    QModelIndexList selectedModelIndex = ui->peerWidget->selectionModel()->selectedIndexes();
    if (!selectedModelIndex.isEmpty()) {
        selectedRow = selectedModelIndex.first().row();
    }
    // c
    // b
    int detailNodeRow = clientModel->getPeerTableModel()->getRowByNodeId(cachedNodeids.first());
    if (detailNodeRow < 0)
    {
        // d
        fUnselect = true;
    }
    else
    {
        if (detailNodeRow != selectedRow)
        {
            // d
            fUnselect = true;