From 35a1a8ed05ba7def37fa849d23de0f65cc03b0d0 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Tue, 24 May 2016 21:06:14 +0800 Subject: Correct return result of API functions when text encoding is set to Unicode. Use QPointer to store pointer to dialogs to avoid crashes. (However crashes related to dbus are still not resolved.) --- qmidiplayer-desktop/qmpmainwindow.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'qmidiplayer-desktop/qmpmainwindow.cpp') diff --git a/qmidiplayer-desktop/qmpmainwindow.cpp b/qmidiplayer-desktop/qmpmainwindow.cpp index 73724ec..633489c 100644 --- a/qmidiplayer-desktop/qmpmainwindow.cpp +++ b/qmidiplayer-desktop/qmpmainwindow.cpp @@ -308,6 +308,8 @@ QString qmpMainWindow::getFileName(){return ui->lbFileName->text();} std::string qmpMainWindow::getTitle() { if(!qmpSettingsWindow::getSettingsIntf())return ""; + if(qmpSettingsWindow::getSettingsIntf()->value("Midi/TextEncoding","").toString() + =="Unicode")return std::string(player->getTitle()); return QTextCodec::codecForName( qmpSettingsWindow::getSettingsIntf()->value("Midi/TextEncoding",""). toString().toStdString().c_str())-> @@ -316,6 +318,8 @@ std::string qmpMainWindow::getTitle() std::wstring qmpMainWindow::getWTitle() { if(!qmpSettingsWindow::getSettingsIntf())return L""; + if(qmpSettingsWindow::getSettingsIntf()->value("Midi/TextEncoding","").toString() + =="Unicode")return QString(player->getTitle()).toStdWString(); return QTextCodec::codecForName( qmpSettingsWindow::getSettingsIntf()->value("Midi/TextEncoding",""). toString().toStdString().c_str())-> -- cgit v1.2.3