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

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortamasmeszaros <meszaros.q@gmail.com>2021-12-02 17:55:57 +0300
committertamasmeszaros <meszaros.q@gmail.com>2022-01-11 13:26:26 +0300
commit4d0088e72f029c1dcafec99a1306ef0fc601bda6 (patch)
tree90dc2f143247b39d940a1a8ade55b42c1e78e410 /src/slic3r/GUI/Jobs
parente367ef8011ffa419ab1decb035e5fb46f01c8ae1 (diff)
Replace std::variant with boost::variant
Unavailable on MacOS < 1.14
Diffstat (limited to 'src/slic3r/GUI/Jobs')
-rw-r--r--src/slic3r/GUI/Jobs/BoostThreadWorker.cpp8
-rw-r--r--src/slic3r/GUI/Jobs/BoostThreadWorker.hpp8
2 files changed, 9 insertions, 7 deletions
diff --git a/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp b/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp
index a6eee28ac..8475f0537 100644
--- a/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp
+++ b/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp
@@ -6,10 +6,10 @@ namespace Slic3r { namespace GUI {
void BoostThreadWorker::WorkerMessage::deliver(BoostThreadWorker &runner)
{
- switch(MsgType(m_data.index())) {
+ switch(MsgType(get_type())) {
case Empty: break;
case Status: {
- StatusInfo info = std::get<Status>(m_data);
+ auto info = boost::get<StatusInfo>(m_data);
if (runner.get_pri()) {
runner.get_pri()->set_progress(info.status);
runner.get_pri()->set_status_text(info.msg.c_str());
@@ -17,7 +17,7 @@ void BoostThreadWorker::WorkerMessage::deliver(BoostThreadWorker &runner)
break;
}
case Finalize: {
- JobEntry& entry = std::get<Finalize>(m_data);
+ auto& entry = boost::get<JobEntry>(m_data);
entry.job->finalize(entry.canceled, entry.eptr);
// Unhandled exceptions are rethrown without mercy.
@@ -27,7 +27,7 @@ void BoostThreadWorker::WorkerMessage::deliver(BoostThreadWorker &runner)
break;
}
case MainThreadCall: {
- MainThreadCallData &calldata = std::get<MainThreadCall>(m_data);
+ auto &calldata = boost::get<MainThreadCallData >(m_data);
calldata.fn();
calldata.promise.set_value();
diff --git a/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp b/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp
index 1775a90bd..908ebbb05 100644
--- a/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp
+++ b/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp
@@ -1,7 +1,7 @@
#ifndef BOOSTTHREADWORKER_HPP
#define BOOSTTHREADWORKER_HPP
-#include <variant>
+#include <boost/variant.hpp>
#include "Worker.hpp"
@@ -40,10 +40,12 @@ class BoostThreadWorker : public Worker, private Job::Ctl
std::promise<void> promise;
};
+ struct EmptyMessage {};
+
class WorkerMessage
{
enum MsgType { Empty, Status, Finalize, MainThreadCall };
- std::variant<std::monostate, StatusInfo, JobEntry, MainThreadCallData> m_data;
+ boost::variant<EmptyMessage, StatusInfo, JobEntry, MainThreadCallData> m_data;
public:
WorkerMessage() = default;
@@ -53,7 +55,7 @@ class BoostThreadWorker : public Worker, private Job::Ctl
WorkerMessage(JobEntry &&entry) : m_data{std::move(entry)} {}
WorkerMessage(MainThreadCallData fn) : m_data{std::move(fn)} {}
- int get_type () const { return m_data.index(); }
+ int get_type () const { return m_data.which(); }
void deliver(BoostThreadWorker &runner);
};