When you open wallets with exotic names, i.e `🦹🏿‍♂️` (Emoji Version 11), via the "Open Wallet" menu, the opening wallet dialog never closes, even after the wallet has finished loading.

![screen shot 2019-02-21 at 2 34 06 pm](https://user-images.githubusercontent.com/863730/53148554-012d3180-35e6-11e9-8a94-62c5fb023d40.png)

connect(quitAction, &QAction::triggered, qApp, QApplication::quit);
    connect(aboutAction, &QAction::triggered, this, &BitcoinGUI::aboutClicked);
    connect(aboutQtAction, &QAction::triggered, qApp, QApplication::aboutQt);
    connect(optionsAction, &QAction::triggered, this, &BitcoinGUI::optionsClicked);
    connect(toggleHideAction, &QAction::triggered, this, &BitcoinGUI::toggleHidden);
    connect(showHelpMessageAction, &QAction::triggered, this, &BitcoinGUI::showHelpMessageClicked);
    connect(openRPCConsoleAction, &QAction::triggered, this, &BitcoinGUI::showDebugWindow);
    
    connect(quitAction, &QAction::triggered, rpcConsole, &QWidget::hide);
#ifdef ENABLE_WALLET
    if(walletFrame)
    {
        connect(encryptWalletAction, &QAction::triggered, walletFrame, &WalletFrame::encryptWallet);
        connect(backupWalletAction, &QAction::triggered, walletFrame, &WalletFrame::backupWallet);
        connect(changePassphraseAction, &QAction::triggered, walletFrame, &WalletFrame::changePassphrase);
        connect(signMessageAction, &QAction::triggered, [this]{ showNormalIfMinimized(); });
        connect(signMessageAction, &QAction::triggered, [this]{ gotoSignMessageTab(); });
        connect(verifyMessageAction, &QAction::triggered, [this]{ showNormalIfMinimized(); });
        connect(verifyMessageAction, &QAction::triggered, [this]{ gotoVerifyMessageTab(); });
        connect(usedSendingAddressesAction, &QAction::triggered, walletFrame, &WalletFrame::usedSendingAddresses);
        connect(usedReceivingAddressesAction, &QAction::triggered, walletFrame, &WalletFrame::usedReceivingAddresses);
        connect(openAction, &QAction::triggered, this, &BitcoinGUI::openClicked);
        connect(m_open_wallet_action->menu(), &QMenu::aboutToShow, [this] {
            m_open_wallet_action->menu()->clear();
            for (std::string path : m_wallet_controller->getWalletsAvailableToOpen()) {
                QString name = path.empty() ? QString("["+tr("default wallet")+"]") : QString::fromStdString(path);
                QAction* action = m_open_wallet_action->menu()->addAction(name);
                connect(action, &QAction::triggered, [this, name, path] {
                    OpenWalletActivity* activity = m_wallet_controller->openWallet(path);
                    QProgressDialog* dialog = new QProgressDialog(this);