PresetUpdater: Fix a race condition
This commit is contained in:
parent
d8c7966bec
commit
e6f7af64a7
3 changed files with 11 additions and 7 deletions
|
@ -127,6 +127,10 @@ bool GUI_App::OnInit()
|
|||
app_config->save();
|
||||
|
||||
preset_updater = new PresetUpdater();
|
||||
Bind(EVT_SLIC3R_VERSION_ONLINE, [this](const wxCommandEvent &evt) {
|
||||
app_config->set("version_online", into_u8(evt.GetString()));
|
||||
app_config->save();
|
||||
});
|
||||
|
||||
load_language();
|
||||
|
||||
|
|
|
@ -103,6 +103,8 @@ static Semver get_slic3r_version()
|
|||
return *res;
|
||||
}
|
||||
|
||||
wxDEFINE_EVENT(EVT_SLIC3R_VERSION_ONLINE, wxCommandEvent);
|
||||
|
||||
|
||||
struct PresetUpdater::priv
|
||||
{
|
||||
|
@ -225,13 +227,9 @@ void PresetUpdater::priv::sync_version() const
|
|||
boost::trim(body);
|
||||
BOOST_LOG_TRIVIAL(info) << boost::format("Got Slic3rPE online version: `%1%`. Sending to GUI thread...") % body;
|
||||
|
||||
// FIXME: race condition
|
||||
|
||||
// wxCommandEvent* evt = new wxCommandEvent(version_online_event);
|
||||
// evt->SetString(body);
|
||||
// GUI::get_app()->QueueEvent(evt);
|
||||
GUI::wxGetApp().app_config->set("version_online", body);
|
||||
GUI::wxGetApp().app_config->save();
|
||||
wxCommandEvent* evt = new wxCommandEvent(EVT_SLIC3R_VERSION_ONLINE);
|
||||
evt->SetString(GUI::from_u8(body));
|
||||
GUI::wxGetApp().QueueEvent(evt);
|
||||
})
|
||||
.perform_sync();
|
||||
}
|
||||
|
|
|
@ -37,6 +37,8 @@ private:
|
|||
std::unique_ptr<priv> p;
|
||||
};
|
||||
|
||||
wxDECLARE_EVENT(EVT_SLIC3R_VERSION_ONLINE, wxCommandEvent);
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue