mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	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…
	
	Add table
		Add a link
		
	
		Reference in a new issue