For a certain transaction structure the GUI does not show all transactions that occurred.

Perform the following transaction structure to reproduce the bug:

Input: Any owned coins
Output 1: Address not owned by the wallet
Output 2: Address owned by the wallet (generated using the receive payment feature, so it's not a change address)

So there is a payment to someone else and a payment to self. The payment to self is missing in the GUI. Normally, the GUI does list payments to self.

`listtransactions` lists 3 transactions here: The send to the foreign address and a send/receive pair for the payment to self. I don't know if this is correct. I'm mentioning this so that the devs can make sure this is intended.

See transaction `5299f198919d6bd5b9f6d7a5f256b23417cb49ea663828f51cfc1b4d7e69822d` on testnet.

{
    QString tooltip = formatTxStatus(rec) + QString("\n") + formatTxType(rec);
    if(rec->type==TransactionRecord::RecvFromOther || rec->type==TransactionRecord::SendToOther ||
       rec->type==TransactionRecord::SendToAddress || rec->type==TransactionRecord::RecvWithAddress)
    {
        tooltip += QString(" ") + formatTxToAddress(rec, true);
    }
    return tooltip;
}
QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
{
    if(!index.isValid())
        return QVariant();
    TransactionRecord *rec = static_cast<TransactionRecord*>(index.internalPointer());
    switch(role)
    {
    case RawDecorationRole:
        switch(index.column())
        {
        case Status:
            return txStatusDecoration(rec);
        case Watchonly:
            return txWatchonlyDecoration(rec);
        case ToAddress:
            return txAddressDecoration(rec);