From 9cb0ad96df9a9c4e01a4635951de4c6ae50762c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= <rafael.carre@savoirfairelinux.com> Date: Tue, 9 Aug 2011 15:10:40 -0400 Subject: [PATCH] sip registration callback: fix a dbus crash makes sure the string allocated doesn't go out of scope while the dbus call --- sflphone-common/src/sip/sipvoiplink.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp index 5e5d05ba50..8001baf75d 100644 --- a/sflphone-common/src/sip/sipvoiplink.cpp +++ b/sflphone-common/src/sip/sipvoiplink.cpp @@ -3674,13 +3674,9 @@ void registration_cb (struct pjsip_regc_cbparam *param) const pj_str_t * description = pjsip_get_status_text (param->code); if (param->code && description) { - - //std::string descriptionprint(description->ptr, description->slen); - //_debug("Received client registration callback wiht code: %i, %s\n", param->code, descriptionprint.c_str()); - DBusManager::instance().getCallManager()->registrationStateChanged (account->getAccountID(), std::string (description->ptr, description->slen), param->code); - std::pair<int, std::string> details (param->code, std::string (description->ptr, description->slen)); - - + std::string state(description->ptr, description->slen); + DBusManager::instance().getCallManager()->registrationStateChanged (account->getAccountID(), state, param->code); + std::pair<int, std::string> details (param->code, state); // TODO: there id a race condition for this ressource when closing the application account->setRegistrationStateDetailed (details); } -- GitLab