diff --git a/CMakeLists.txt b/CMakeLists.txt index a080359d401a6e96c50d2a208df72fdec62eb986..3384e04af0ed91ae381e31623b684eb4b9856063 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,13 +143,9 @@ IF(${ENABLE_VIDEO} MATCHES true) add_definitions( -DENABLE_VIDEO=true ) ENDIF(${ENABLE_VIDEO} MATCHES true) -IF(${ENABLE_QT5} MATCHES true) - FIND_PACKAGE(Qt5Core REQUIRED) - FIND_PACKAGE(Qt5DBus) - ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=0) -ELSE() - FIND_PACKAGE ( Qt4 REQUIRED ) -ENDIF(${ENABLE_QT5} MATCHES true) +FIND_PACKAGE(Qt5Core REQUIRED) +FIND_PACKAGE(Qt5DBus) +ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=0) SET(GENERIC_LIB_VERSION "1.4.1") @@ -369,22 +365,14 @@ ELSE() # Use dbus to communicate with libDring ${presencemanager_xml} PROPERTIES CLASSNAME PresenceManagerInterface - INCLUDE ${dbus_metatype_path}) - - IF(${ENABLE_QT5} MATCHES true) - QT5_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${presencemanager_xml} - presencemanager_dbus_interface - ) - ELSE() - QT4_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${presencemanager_xml} - presencemanager_dbus_interface - ) + INCLUDE ${dbus_metatype_path} + ) - ENDIF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + libringclient_LIB_SRCS + ${presencemanager_xml} + presencemanager_dbus_interface + ) # configuration manager interface SET ( configurationmanager_xml ${dbus_xml_introspecs_path}/configurationmanager-introspec.xml ) @@ -393,22 +381,14 @@ ELSE() # Use dbus to communicate with libDring ${configurationmanager_xml} PROPERTIES CLASSNAME ConfigurationManagerInterface - INCLUDE ${dbus_metatype_path}) - - IF(${ENABLE_QT5} MATCHES true) - QT5_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${configurationmanager_xml} - configurationmanager_dbus_interface - ) - ELSE() - QT4_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${configurationmanager_xml} - configurationmanager_dbus_interface - ) + INCLUDE ${dbus_metatype_path} + ) - ENDIF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + libringclient_LIB_SRCS + ${configurationmanager_xml} + configurationmanager_dbus_interface + ) # call manager interface SET ( callmanager_xml ${dbus_xml_introspecs_path}/callmanager-introspec.xml ) @@ -417,22 +397,14 @@ ELSE() # Use dbus to communicate with libDring ${callmanager_xml} PROPERTIES CLASSNAME CallManagerInterface - INCLUDE ${dbus_metatype_path}) - - IF(${ENABLE_QT5} MATCHES true) - QT5_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${callmanager_xml} - callmanager_dbus_interface - ) - ELSE() - QT4_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${callmanager_xml} - callmanager_dbus_interface - ) - ENDIF(${ENABLE_QT5} MATCHES true) + INCLUDE ${dbus_metatype_path} + ) + QT5_ADD_DBUS_INTERFACE( + libringclient_LIB_SRCS + ${callmanager_xml} + callmanager_dbus_interface + ) # video manager interface SET ( video_xml ${dbus_xml_introspecs_path}/videomanager-introspec.xml ) @@ -441,21 +413,14 @@ ELSE() # Use dbus to communicate with libDring ${video_xml} PROPERTIES CLASSNAME VideoManagerInterface - INCLUDE ${dbus_metatype_path}) + INCLUDE ${dbus_metatype_path} + ) - IF(${ENABLE_QT5} MATCHES true) - QT5_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${video_xml} - video_dbus_interface - ) - ELSE() - QT4_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${video_xml} - video_dbus_interface - ) - ENDIF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + libringclient_LIB_SRCS + ${video_xml} + video_dbus_interface + ) # instance interface @@ -465,21 +430,14 @@ ELSE() # Use dbus to communicate with libDring ${instance_xml} PROPERTIES CLASSNAME InstanceInterface - INCLUDE ${dbus_metatype_path}) + INCLUDE ${dbus_metatype_path} + ) - IF(${ENABLE_QT5} MATCHES true) - QT5_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${instance_xml} - instance_dbus_interface - ) - ELSE() - QT4_ADD_DBUS_INTERFACE( - libringclient_LIB_SRCS - ${instance_xml} - instance_dbus_interface - ) - ENDIF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + libringclient_LIB_SRCS + ${instance_xml} + instance_dbus_interface + ) ENDIF(${ENABLE_LIBWRAP} MATCHES true) @@ -504,11 +462,7 @@ IF(${ENABLE_LIBWRAP} MATCHES true) ) ENDIF() -IF(${ENABLE_QT5} MATCHES true) - QT5_WRAP_CPP(LIB_HEADER_MOC ${libringclient_PRIVATE_HDRS}) -ELSE() - QT4_WRAP_CPP(LIB_HEADER_MOC ${libringclient_PRIVATE_HDRS}) -ENDIF(${ENABLE_QT5} MATCHES true) +QT5_WRAP_CPP(LIB_HEADER_MOC ${libringclient_PRIVATE_HDRS}) ADD_LIBRARY( ringclient SHARED ${libringclient_LIB_SRCS} ${LIB_HEADER_MOC} ) @@ -517,12 +471,10 @@ IF(NOT ${ENABLE_STATIC} MATCHES false) ADD_LIBRARY( ringclient_static STATIC ${libringclient_LIB_SRCS} ${LIB_HEADER_MOC} ) ENDIF() -IF(${ENABLE_QT5} MATCHES true) - QT5_USE_MODULES(ringclient Core) - IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - QT5_USE_MODULES(ringclient DBus) - ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") -ENDIF(${ENABLE_QT5} MATCHES true) +QT5_USE_MODULES(ringclient Core) +IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + QT5_USE_MODULES(ringclient DBus) +ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") TARGET_LINK_LIBRARIES( ringclient diff --git a/cmake/FindRing.cmake b/cmake/FindRing.cmake index 703a83366a67ecd08aa74a7bdd7938a20021c956..522432638787bed4b96d3b5f46ef5345baf02877 100644 --- a/cmake/FindRing.cmake +++ b/cmake/FindRing.cmake @@ -20,5 +20,5 @@ FIND_LIBRARY(ring_BIN NAMES ring PATHS ${RING_BUILD_DIR}/.libs PATHS ${CMAKE_INSTALL_PREFIX}/libexec ) -MESSAGE("Ring daemon header is " ${ring_INCLUDE_DIRS}/dring.h) -MESSAGE("Ring library path is " ${ring_BIN}) +MESSAGE("-- Ring daemon header is " ${ring_INCLUDE_DIRS}/dring.h) +MESSAGE("-- Ring library path is " ${ring_BIN}) diff --git a/src/account.cpp b/src/account.cpp index c9316f6ef1554ff19a48e04e307dacf66aef74b7..4383ce95ea1fda71ce9781eac70c5f1c246d95aa 100644 --- a/src/account.cpp +++ b/src/account.cpp @@ -1435,7 +1435,7 @@ void AccountPrivate::save() } q_ptr->saveAudioCodecs(); - q_ptr->setId(currentId.toAscii()); + q_ptr->setId(currentId.toLatin1()); q_ptr->saveCredentials(); } //New account else { //Existing account diff --git a/src/accountmodel.cpp b/src/accountmodel.cpp index 4b6062190fb203d0be46721030f30cc20596c076..30978066f0484bae2e39a2317dd637d410b80d02 100644 --- a/src/accountmodel.cpp +++ b/src/accountmodel.cpp @@ -192,7 +192,7 @@ void AccountModel::destroy() ///Account status changed void AccountModelPrivate::slotAccountChanged(const QString& account,const QString& status, int code) { - Account* a = q_ptr->getById(account.toAscii()); + Account* a = q_ptr->getById(account.toLatin1()); if (!a || (a && a->registrationStatus() != status )) { if (status != "OK") //Do not pollute the log @@ -204,8 +204,8 @@ void AccountModelPrivate::slotAccountChanged(const QString& account,const QStrin if (!a) { const QStringList accountIds = configurationManager.getAccountList(); for (int i = 0; i < accountIds.size(); ++i) { - if ((!q_ptr->getById(accountIds[i].toAscii())) && m_lDeletedAccounts.indexOf(accountIds[i]) == -1) { - Account* acc = AccountPrivate::buildExistingAccountFromId(accountIds[i].toAscii()); + if ((!q_ptr->getById(accountIds[i].toLatin1())) && m_lDeletedAccounts.indexOf(accountIds[i]) == -1) { + Account* acc = AccountPrivate::buildExistingAccountFromId(accountIds[i].toLatin1()); m_lAccounts.insert(i, acc); connect(acc,SIGNAL(changed(Account*)),this,SLOT(slotAccountChanged(Account*))); connect(acc,SIGNAL(presenceEnabledChanged(bool)),this,SLOT(slotAccountPresenceEnabledChanged(bool))); @@ -272,7 +272,7 @@ void AccountModelPrivate::slotAccountChanged(Account* a) ///When a new voice mail is available void AccountModelPrivate::slotVoiceMailNotify(const QString &accountID, int count) { - Account* a = q_ptr->getById(accountID.toAscii()); + Account* a = q_ptr->getById(accountID.toLatin1()); if (a) { a->setVoiceMailCount(count); emit q_ptr->voiceMailNotify(a,count); @@ -289,7 +289,7 @@ void AccountModelPrivate::slotAccountPresenceEnabledChanged(bool state) ///Emited when some runtime details changes void AccountModelPrivate::slotVolatileAccountDetailsChange(const QString& accountId, const MapStringString& details) { - Account* a = q_ptr->getById(accountId.toAscii()); + Account* a = q_ptr->getById(accountId.toLatin1()); if (a) { const int transportCode = details[DRing::Account::VolatileProperties::Transport::STATE_CODE].toInt(); const QString transportDesc = details[DRing::Account::VolatileProperties::Transport::STATE_DESC]; @@ -320,7 +320,7 @@ void AccountModel::update() const QStringList accountIds = configurationManager.getAccountList(); for (int i = 0; i < accountIds.size(); ++i) { if (d_ptr->m_lDeletedAccounts.indexOf(accountIds[i]) == -1) { - Account* a = AccountPrivate::buildExistingAccountFromId(accountIds[i].toAscii()); + Account* a = AccountPrivate::buildExistingAccountFromId(accountIds[i].toLatin1()); d_ptr->m_lAccounts.insert(i, a); emit dataChanged(index(i,0),index(size()-1,0)); connect(a,SIGNAL(changed(Account*)),d_ptr,SLOT(slotAccountChanged(Account*))); @@ -338,9 +338,9 @@ void AccountModel::updateAccounts() QStringList accountIds = configurationManager.getAccountList(); //m_lAccounts.clear(); for (int i = 0; i < accountIds.size(); ++i) { - Account* acc = getById(accountIds[i].toAscii()); + Account* acc = getById(accountIds[i].toLatin1()); if (!acc) { - Account* a = AccountPrivate::buildExistingAccountFromId(accountIds[i].toAscii()); + Account* a = AccountPrivate::buildExistingAccountFromId(accountIds[i].toLatin1()); d_ptr->m_lAccounts += a; connect(a,SIGNAL(changed(Account*)),d_ptr,SLOT(slotAccountChanged(Account*))); connect(a,SIGNAL(presenceEnabledChanged(bool)),d_ptr,SLOT(slotAccountPresenceEnabledChanged(bool))); @@ -367,7 +367,7 @@ void AccountModel::save() //remove accounts that are in the configurationManager but not in the client for (int i = 0; i < accountIds.size(); i++) { - if(!getById(accountIds[i].toAscii())) { + if(!getById(accountIds[i].toLatin1())) { configurationManager.removeAccount(accountIds[i]); } } diff --git a/src/call.cpp b/src/call.cpp index dd96dd6f3d076e5a0d5db37c014981cfb976a195..48f8652fff930b44eefaba805cb912f03d252ae5 100644 --- a/src/call.cpp +++ b/src/call.cpp @@ -250,7 +250,7 @@ Call::Call(const QString& confId, const QString& account) : ItemBase<QObject>(CallModel::instance()),d_ptr(new CallPrivate(this)) { d_ptr->m_CurrentState = Call::State::CONFERENCE; - d_ptr->m_Account = AccountModel::instance()->getById(account.toAscii()); + d_ptr->m_Account = AccountModel::instance()->getById(account.toLatin1()); d_ptr->m_Type = (!confId.isEmpty())?Call::Type::CONFERENCE:Call::Type::CALL; d_ptr->m_CallId = confId; @@ -300,7 +300,7 @@ Call* CallPrivate::buildExistingCall(const QString& callId) const QString peerName = details[ CallPrivate::DetailsMapFields::PEER_NAME ]; const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ]; Call::State startState = startStateFromDaemonCallState(details[CallPrivate::DetailsMapFields::STATE], details[CallPrivate::DetailsMapFields::TYPE]); - Account* acc = AccountModel::instance()->getById(account.toAscii()); + Account* acc = AccountModel::instance()->getById(account.toLatin1()); ContactMethod* nb = PhoneDirectoryModel::instance()->getNumber(peerNumber,acc); Call* call = new Call(startState, callId, peerName, nb, acc); call->d_ptr->m_Recording = callManager.getIsRecording(callId); @@ -345,7 +345,7 @@ Call* CallPrivate::buildIncomingCall(const QString& callId) const QString from = details[ CallPrivate::DetailsMapFields::PEER_NUMBER ]; const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ]; const QString peerName = details[ CallPrivate::DetailsMapFields::PEER_NAME ]; - Account* acc = AccountModel::instance()->getById(account.toAscii()); + Account* acc = AccountModel::instance()->getById(account.toLatin1()); ContactMethod* nb = PhoneDirectoryModel::instance()->getNumber(from,acc); Call* call = new Call(Call::State::INCOMING, callId, peerName, nb, acc); call->d_ptr->m_HistoryState = Call::LegacyHistoryState::MISSED; @@ -365,7 +365,7 @@ Call* CallPrivate::buildRingingCall(const QString & callId) const QString from = details[ CallPrivate::DetailsMapFields::PEER_NUMBER ]; const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ]; const QString peerName = details[ CallPrivate::DetailsMapFields::PEER_NAME ]; - Account* acc = AccountModel::instance()->getById(account.toAscii()); + Account* acc = AccountModel::instance()->getById(account.toLatin1()); ContactMethod* nb = PhoneDirectoryModel::instance()->getNumber(from,acc); Call* call = new Call(Call::State::RINGING, callId, peerName, nb, acc); call->d_ptr->m_HistoryState = Call::LegacyHistoryState::OUTGOING; @@ -395,7 +395,7 @@ Call* Call::buildHistoryCall(const QMap<QString,QString>& hc) const bool missed = hc[ Call::HistoryMapFields::MISSED ] == "1"; time_t startTimeStamp = hc[ Call::HistoryMapFields::TIMESTAMP_START ].toUInt() ; time_t stopTimeStamp = hc[ Call::HistoryMapFields::TIMESTAMP_STOP ].toUInt() ; - QByteArray accId = hc[ Call::HistoryMapFields::ACCOUNT_ID ].toAscii(); + QByteArray accId = hc[ Call::HistoryMapFields::ACCOUNT_ID ].toLatin1(); if (accId.isEmpty()) { qWarning() << "An history call has an invalid account identifier"; @@ -409,7 +409,7 @@ Call* Call::buildHistoryCall(const QMap<QString,QString>& hc) Person* ct = nullptr; if (!hc[ Call::HistoryMapFields::CONTACT_UID].isEmpty()) - ct = PersonModel::instance()->getPlaceHolder(contactUid.toAscii()); + ct = PersonModel::instance()->getPlaceHolder(contactUid.toLatin1()); Account* acc = AccountModel::instance()->getById(accId); ContactMethod* nb = PhoneDirectoryModel::instance()->getNumber(number,ct,acc); diff --git a/src/callmodel.cpp b/src/callmodel.cpp index 608fdcd8fca1923fe27085f940d27b36dbfad68c..683c56414ca09a31f2c69319c0b9e3d341976b7e 100644 --- a/src/callmodel.cpp +++ b/src/callmodel.cpp @@ -1203,7 +1203,7 @@ void CallModelPrivate::slotDTMFPlayed( const QString& str ) Call* call = qobject_cast<Call*>(QObject::sender()); if (str.size()==1) { int idx = 0; - char s = str.toLower().toAscii()[0]; + char s = str.toLower().toLatin1()[0]; if (s >= '1' && s <= '9' ) idx = s - '1' ; else if (s >= 'a' && s <= 'v') idx = (s - 'a')/3 ; else if (s >= 'w' && s <= 'z') idx = 8 ; diff --git a/src/certificate.cpp b/src/certificate.cpp index 31e31ca316b8d8ca4ad9dfa19e87a646eba78bc6..7f688c9c2ae76f2764f63d658488d4a584a020d6 100644 --- a/src/certificate.cpp +++ b/src/certificate.cpp @@ -225,19 +225,19 @@ DetailsCache::DetailsCache(const MapStringString& details) m_ExpirationDate = QDateTime::fromString( details[DRing::Certificate::DetailsNames::EXPIRATION_DATE ],"yyyy-mm-dd"); m_ActivationDate = QDateTime::fromString( details[DRing::Certificate::DetailsNames::ACTIVATION_DATE ],"yyyy-mm-dd"); m_RequirePrivateKeyPassword = false;//TODO//details[DRing::Certificate::DetailsNames::REQUIRE_PRIVATE_KEY_PASSWORD].toBool(); - m_PublicSignature = details[DRing::Certificate::DetailsNames::PUBLIC_SIGNATURE ].toAscii(); + m_PublicSignature = details[DRing::Certificate::DetailsNames::PUBLIC_SIGNATURE ].toLatin1(); m_VersionNumber = details[DRing::Certificate::DetailsNames::VERSION_NUMBER ].toInt(); - m_SerialNumber = details[DRing::Certificate::DetailsNames::SERIAL_NUMBER ].toAscii(); + m_SerialNumber = details[DRing::Certificate::DetailsNames::SERIAL_NUMBER ].toLatin1(); m_Issuer = details[DRing::Certificate::DetailsNames::ISSUER ]; - m_SubjectKeyAlgorithm = details[DRing::Certificate::DetailsNames::SUBJECT_KEY_ALGORITHM ].toAscii(); + m_SubjectKeyAlgorithm = details[DRing::Certificate::DetailsNames::SUBJECT_KEY_ALGORITHM ].toLatin1(); m_Cn = details[DRing::Certificate::DetailsNames::CN ]; m_N = details[DRing::Certificate::DetailsNames::N ]; m_O = details[DRing::Certificate::DetailsNames::O ]; - m_SignatureAlgorithm = details[DRing::Certificate::DetailsNames::SIGNATURE_ALGORITHM ].toAscii(); - m_Md5Fingerprint = details[DRing::Certificate::DetailsNames::MD5_FINGERPRINT ].toAscii(); - m_Sha1Fingerprint = details[DRing::Certificate::DetailsNames::SHA1_FINGERPRINT ].toAscii(); - m_PublicKeyId = details[DRing::Certificate::DetailsNames::PUBLIC_KEY_ID ].toAscii(); - m_IssuerDn = details[DRing::Certificate::DetailsNames::ISSUER_DN ].toAscii(); + m_SignatureAlgorithm = details[DRing::Certificate::DetailsNames::SIGNATURE_ALGORITHM ].toLatin1(); + m_Md5Fingerprint = details[DRing::Certificate::DetailsNames::MD5_FINGERPRINT ].toLatin1(); + m_Sha1Fingerprint = details[DRing::Certificate::DetailsNames::SHA1_FINGERPRINT ].toLatin1(); + m_PublicKeyId = details[DRing::Certificate::DetailsNames::PUBLIC_KEY_ID ].toLatin1(); + m_IssuerDn = details[DRing::Certificate::DetailsNames::ISSUER_DN ].toLatin1(); m_NextExpectedUpdateDate = QDateTime::fromString(details[DRing::Certificate::DetailsNames::NEXT_EXPECTED_UPDATE_DATE ],"yyyy-mm-dd"); m_OutgoingServer = details[DRing::Certificate::DetailsNames::OUTGOING_SERVER ] ; } diff --git a/src/ciphermodel.cpp b/src/ciphermodel.cpp index 8d7c46bf375cb3f762ad6f19b04ffdfd65939df6..dd6a77d8fa14965701d3ef205160f2a5ba2d2c15 100644 --- a/src/ciphermodel.cpp +++ b/src/ciphermodel.cpp @@ -52,7 +52,7 @@ CipherModelPrivate::CipherModelPrivate(Account* parent) : m_pAccount(parent) if (!CipherModelPrivate::m_sIsLoaded) { const QStringList cs = DBus::ConfigurationManager::instance().getSupportedCiphers(Account::ProtocolName::IP2IP); foreach(const QString& c, cs) - m_slSupportedCiphers << c.toAscii(); + m_slSupportedCiphers << c.toLatin1(); m_sIsLoaded = true; } @@ -72,7 +72,7 @@ void CipherModelPrivate::loadCiphers() { const QStringList cs = DBus::ConfigurationManager::instance().getSupportedCiphers("IP2IP"); foreach(const QString& c, cs) - m_slSupportedCiphers << c.toAscii(); + m_slSupportedCiphers << c.toLatin1(); m_sIsLoaded = true; } diff --git a/src/phonedirectorymodel.cpp b/src/phonedirectorymodel.cpp index 32e947d539640cc04988a0583a5d748ba3103095..bfccd93dc3e6ccf4484c5a816036452a928b2822 100644 --- a/src/phonedirectorymodel.cpp +++ b/src/phonedirectorymodel.cpp @@ -575,7 +575,7 @@ ContactMethod* PhoneDirectoryModel::fromHash(const QString& hash) const QStringList fields = hash.split("///"); if (fields.size() == 3) { const QString uri = fields[0]; - Account* account = AccountModel::instance()->getById(fields[1].toAscii()); + Account* account = AccountModel::instance()->getById(fields[1].toLatin1()); Person* contact = PersonModel::instance()->getPersonByUid(fields[2].toUtf8()); return getNumber(uri,contact,account); } @@ -650,7 +650,7 @@ void PhoneDirectoryModelPrivate::slotChanged() void PhoneDirectoryModelPrivate::slotNewBuddySubscription(const QString& accountId, const QString& uri, bool status, const QString& message) { qDebug() << "New presence buddy" << uri << status << message; - ContactMethod* number = q_ptr->getNumber(uri,AccountModel::instance()->getById(accountId.toAscii())); + ContactMethod* number = q_ptr->getNumber(uri,AccountModel::instance()->getById(accountId.toLatin1())); number->setPresent(status); number->setPresenceMessage(message); emit number->changed(); diff --git a/src/video/renderer.cpp b/src/video/renderer.cpp index 9437916e35dbcf291b481324ddb5ed1de4305a18..f54cc4ff0a0828678ef994e77bcff6cf997339d3 100644 --- a/src/video/renderer.cpp +++ b/src/video/renderer.cpp @@ -202,7 +202,7 @@ bool Video::Renderer::startShm() return false; } - d_ptr->fd = shm_open(d_ptr->m_ShmPath.toAscii(), O_RDWR, 0); + d_ptr->fd = shm_open(d_ptr->m_ShmPath.toLatin1(), O_RDWR, 0); if (d_ptr->fd < 0) { qDebug() << "could not open shm area " << d_ptr->m_ShmPath << ", shm_open failed:" << strerror(errno); return false;