@jonasschnelli wrote in #14979:
> #14573 broke < Qt5.6 compatibility due to calling the lambda version of `addAction` that was added in Qt5.6.

We currently [support](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) QT >=5.2, but hardly anyone tests with that. If we make one of the Travis machines use it, we should have a better change of catching this.

See also discussion about minimum QT version in #13478 
auto key_data_it = import_data.used_keys.find(oldit->first);
                    if (key_data_it == import_data.used_keys.end() || !key_data_it->second) {
                        warnings.push_back("Ignoring public key \"" + HexStr(oldit->first) + "\" as it doesn't appear inside P2PKH or P2WPKH.");
                        pubkey_map.erase(oldit);
                    }
                }
            }
        }
        
        if (::IsMine(*pwallet, script) & ISMINE_SPENDABLE) {
            throw JSONRPCError(RPC_WALLET_ERROR, "The wallet already contains the private key for this address or script");
        }
        
        pwallet->MarkDirty();
        for (const auto& entry : import_data.import_scripts) {
            if (!pwallet->HaveCScript(CScriptID(entry)) && !pwallet->AddCScript(entry)) {
                throw JSONRPCError(RPC_WALLET_ERROR, "Error adding script to wallet");
            }
        }
        for (const auto& entry : privkey_map) {
            const CKey& key = entry.second;
            CPubKey pubkey = key.GetPubKey();
            const CKeyID& id = entry.first;
            assert(key.VerifyPubKey(pubkey));
            pwallet->mapKeyMetadata[id].nCreateTime = timestamp;
            
            if (!pwallet->HaveKey(id) && !pwallet->AddKeyPubKey(key, pubkey)) {
                throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet");
            }
            pwallet->UpdateTimeFirstKey(timestamp);