mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Fix of compilation on OSX and Linux, update of camera after 3D mouse
disconnect moved to the main thread.
This commit is contained in:
		
							parent
							
								
									9b26f8a18b
								
							
						
					
					
						commit
						98fc01afe7
					
				
					 2 changed files with 17 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -407,9 +407,13 @@ void Mouse3DController::disconnected()
 | 
			
		|||
        m_params_by_device[m_device_str] = m_params_ui;
 | 
			
		||||
	    m_device_str.clear();
 | 
			
		||||
	    m_connected = false;
 | 
			
		||||
        wxGetApp().plater()->get_camera().recover_from_free_camera();
 | 
			
		||||
        wxGetApp().plater()->set_current_canvas_as_dirty();
 | 
			
		||||
        wxWakeUpIdle();
 | 
			
		||||
        wxGetApp().plater()->CallAfter([]() {
 | 
			
		||||
        	Plater *plater = wxGetApp().plater();
 | 
			
		||||
        	if (plater != nullptr) {
 | 
			
		||||
	        	plater->get_camera().recover_from_free_camera();
 | 
			
		||||
    	   		plater->set_current_canvas_as_dirty();
 | 
			
		||||
    	   	}
 | 
			
		||||
    	});
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -822,10 +826,14 @@ void Mouse3DController::disconnect_device()
 | 
			
		|||
#ifdef _WIN32
 | 
			
		||||
	    // Enumerate once immediately after disconnect.
 | 
			
		||||
	    m_wakeup = true;
 | 
			
		||||
#endif // _WIN32
 | 
			
		||||
        wxGetApp().plater()->get_camera().recover_from_free_camera();
 | 
			
		||||
        wxGetApp().plater()->set_current_canvas_as_dirty();
 | 
			
		||||
        wxWakeUpIdle();
 | 
			
		||||
#endif // _WIN32	    
 | 
			
		||||
        wxGetApp().plater()->CallAfter([]() {
 | 
			
		||||
        	Plater *plater = wxGetApp().plater();
 | 
			
		||||
        	if (plater != nullptr) {
 | 
			
		||||
	        	plater->get_camera().recover_from_free_camera();
 | 
			
		||||
    	   		plater->set_current_canvas_as_dirty();
 | 
			
		||||
    	   	}
 | 
			
		||||
    	});
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -440,7 +440,9 @@ void RemovableDriveManager::update()
 | 
			
		|||
void RemovableDriveManager::thread_proc()
 | 
			
		||||
{
 | 
			
		||||
	// Signal the worker thread to update initially.
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
    m_wakeup = true;
 | 
			
		||||
#endif // _WIN32
 | 
			
		||||
 | 
			
		||||
	for (;;) {
 | 
			
		||||
		// Wait for 2 seconds before running the disk enumeration.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue