Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kocik <kocikdav@gmail.com>2019-12-16 15:53:12 +0300
committerDavid Kocik <kocikdav@gmail.com>2019-12-16 15:53:12 +0300
commit0db9815467d45812f6d727d60ba637613050d964 (patch)
tree9ccc61026fc888de8971d4a067e19f4fe00af399 /src/slic3r/GUI/RemovableDriveManager.cpp
parent507134accb9b05a319c07b69b0126532ce011224 (diff)
correct beahvior when disconnecting device other way than button in slicer
Diffstat (limited to 'src/slic3r/GUI/RemovableDriveManager.cpp')
-rw-r--r--src/slic3r/GUI/RemovableDriveManager.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/slic3r/GUI/RemovableDriveManager.cpp b/src/slic3r/GUI/RemovableDriveManager.cpp
index 535d62f83..5af4362f2 100644
--- a/src/slic3r/GUI/RemovableDriveManager.cpp
+++ b/src/slic3r/GUI/RemovableDriveManager.cpp
@@ -106,7 +106,7 @@ void RemovableDriveManager::eject_drive(const std::string &path)
return;
}
CloseHandle(handle);
-
+ m_did_eject = true;
m_current_drives.erase(it);
break;
}
@@ -365,6 +365,7 @@ void RemovableDriveManager::eject_drive(const std::string &path)
std::cerr<<"Ejecting failed\n";
return;
}
+ m_did_eject = true;
m_current_drives.erase(it);
break;
@@ -401,12 +402,18 @@ RemovableDriveManager::RemovableDriveManager():
m_last_update(0),
m_last_save_path(""),
m_last_save_name(""),
- m_is_writing(false)
+ m_is_writing(false),
+ m_did_eject(false)
#if __APPLE__
, m_rdmmm(new RDMMMWrapper())
#endif
{}
-
+RemovableDriveManager::~RemovableDriveManager()
+{
+#if __APPLE__
+ delete m_rdmmm;
+#endif
+}
void RemovableDriveManager::init()
{
//add_callback([](void) { RemovableDriveManager::get_instance().print(); });
@@ -517,7 +524,7 @@ std::string RemovableDriveManager::get_drive_name(const std::string& path)
bool RemovableDriveManager::is_last_drive_removed()
{
//std::cout<<"is last: "<<m_last_save_path;
- m_drives_count = m_current_drives.size();
+ //m_drives_count = m_current_drives.size();
if(m_last_save_path == "")
{
//std::cout<<"\n";
@@ -541,9 +548,17 @@ void RemovableDriveManager::reset_last_save_path()
void RemovableDriveManager::set_is_writing(const bool b)
{
m_is_writing = b;
+ if (b)
+ {
+ m_did_eject = false;
+ }
}
bool RemovableDriveManager::get_is_writing()
{
return m_is_writing;
}
+bool RemovableDriveManager::get_did_eject()
+{
+ return m_did_eject;
+}
}}//namespace Slicer::Gui