[Positioner] Mobile: fix copy constructor segfault

This commit is contained in:
Matteo Cypriani 2016-11-03 15:54:50 -04:00
parent ecb9a689b5
commit 41640da203
1 changed files with 11 additions and 4 deletions

View File

@ -21,7 +21,7 @@
Mobile::Mobile(const Mobile &m): Mobile::Mobile(const Mobile &m):
WifiDevice(m), last_results(m.last_results) WifiDevice(m), last_request(nullptr), last_results(m.last_results)
{ {
update_last_request() ; update_last_request() ;
} }
@ -42,13 +42,20 @@ void Mobile::update_last_request()
{ {
if (last_results.empty()) if (last_results.empty())
{ {
delete last_request ; if (last_request)
last_request = nullptr ; {
delete last_request;
last_request = nullptr;
}
return ; return ;
} }
if (! last_request) if (! last_request)
last_request = new Request(*last_results.get_request()) ; {
const Request *r = last_results.get_request();
if (r)
last_request = new Request(*r);
}
else else
*last_request = *last_results.get_request() ; *last_request = *last_results.get_request() ;