Follow-up on 550e5c2fbb3a5151e18b573f246fa78dcef8e964

Fixed some spurious moves of data that should have not been moved.
This commit is contained in:
bubnikv 2020-03-12 12:57:46 +01:00
parent 3858257e28
commit b71161265f
2 changed files with 6 additions and 7 deletions

View File

@ -91,7 +91,7 @@ void RemovableDriveManager::eject_drive()
std::cerr << "Ejecting " << mpath << " failed " << GetLastError() << " \n"; std::cerr << "Ejecting " << mpath << " failed " << GetLastError() << " \n";
assert(m_callback_evt_handler); assert(m_callback_evt_handler);
if (m_callback_evt_handler) if (m_callback_evt_handler)
wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair< DriveData, bool >(std::move(*it_drive_data), false))); wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair<DriveData, bool>(*it_drive_data, false)));
return; return;
} }
DWORD deviceControlRetVal(0); DWORD deviceControlRetVal(0);
@ -106,7 +106,7 @@ void RemovableDriveManager::eject_drive()
BOOST_LOG_TRIVIAL(error) << "Ejecting " << mpath << " failed " << deviceControlRetVal << " " << GetLastError() << " \n"; BOOST_LOG_TRIVIAL(error) << "Ejecting " << mpath << " failed " << deviceControlRetVal << " " << GetLastError() << " \n";
assert(m_callback_evt_handler); assert(m_callback_evt_handler);
if (m_callback_evt_handler) if (m_callback_evt_handler)
wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair< DriveData, bool >(std::move(*it_drive_data),false))); wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair<DriveData, bool>(*it_drive_data, false)));
return; return;
} }
CloseHandle(handle); CloseHandle(handle);
@ -364,19 +364,18 @@ void RemovableDriveManager::eject_drive()
// wait for command to finnish (blocks ui thread) // wait for command to finnish (blocks ui thread)
child.wait(); child.wait();
int err = child.exit_code(); int err = child.exit_code();
if(err) if (err) {
{
BOOST_LOG_TRIVIAL(error) << "Ejecting failed"; BOOST_LOG_TRIVIAL(error) << "Ejecting failed";
assert(m_callback_evt_handler); assert(m_callback_evt_handler);
if (m_callback_evt_handler) if (m_callback_evt_handler)
wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair< DriveData, bool >(std::move(*it_drive_data), false))); wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair<DriveData, bool>(*it_drive_data, false)));
return; return;
} }
BOOST_LOG_TRIVIAL(info) << "Ejecting finished"; BOOST_LOG_TRIVIAL(info) << "Ejecting finished";
assert(m_callback_evt_handler); assert(m_callback_evt_handler);
if (m_callback_evt_handler) if (m_callback_evt_handler)
wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair< DriveData, bool >(std::move(*it_drive_data), true))); wxPostEvent(m_callback_evt_handler, RemovableDriveEjectEvent(EVT_REMOVABLE_DRIVE_EJECTED, std::pair<DriveData, bool>(std::move(*it_drive_data), true)));
m_current_drives.erase(it_drive_data); m_current_drives.erase(it_drive_data);
} }
} }