mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	FIX: fix the label switch incorrect issue when print_sequence change
1. only turn on label while switch from by_layer to by_object 2. don't crash when filament_colours mismatch between project_config and PresetBundle Change-Id: Icac9d0d7f88e17fcad3b042ea19cda3ac23ae62c
This commit is contained in:
		
							parent
							
								
									082c695db1
								
							
						
					
					
						commit
						8df60acc61
					
				
					 2 changed files with 9 additions and 2 deletions
				
			
		|  | @ -1333,7 +1333,7 @@ void MenuFactory::append_menu_item_change_filament(wxMenu* menu) | |||
|             menu->Destroy(item_id); | ||||
|     } | ||||
| 
 | ||||
|     const int filaments_cnt = filaments_count(); | ||||
|     int filaments_cnt = filaments_count(); | ||||
|     if (filaments_cnt <= 1) | ||||
|         return; | ||||
| 
 | ||||
|  | @ -1345,6 +1345,10 @@ void MenuFactory::append_menu_item_change_filament(wxMenu* menu) | |||
|     std::vector<wxBitmap*> icons = get_extruder_color_icons(true); | ||||
|     if (icons.size() < filaments_cnt) { | ||||
|         BOOST_LOG_TRIVIAL(warning) << boost::format("Warning: icons size %1%, filaments_cnt=%2%")%icons.size()%filaments_cnt; | ||||
|         if (icons.size() <= 1) | ||||
|             return; | ||||
|         else | ||||
|             filaments_cnt = icons.size(); | ||||
|     } | ||||
|     wxMenu* extruder_selection_menu = new wxMenu(); | ||||
|     const wxString& name = sels.Count() == 1 ? names[0] : names[1]; | ||||
|  |  | |||
|  | @ -9296,6 +9296,7 @@ void Plater::on_config_change(const DynamicPrintConfig &config) | |||
| { | ||||
|     bool update_scheduled = false; | ||||
|     bool bed_shape_changed = false; | ||||
|     bool print_sequence_changed = false; | ||||
|     t_config_option_keys diff_keys = p->config->diff(config); | ||||
|     for (auto opt_key : diff_keys) { | ||||
|         if (opt_key == "filament_colour") { | ||||
|  | @ -9346,6 +9347,7 @@ void Plater::on_config_change(const DynamicPrintConfig &config) | |||
|         } | ||||
|         else if (opt_key == "print_sequence") { | ||||
|             update_scheduled = true; | ||||
|             print_sequence_changed = true; | ||||
|         } | ||||
|         else if (opt_key == "printer_model") { | ||||
|             p->reset_gcode_toolpaths(); | ||||
|  | @ -9371,7 +9373,8 @@ void Plater::on_config_change(const DynamicPrintConfig &config) | |||
|             std::string info_text = L("Print By Object: \nSuggest to use auto-arrange to avoid collisions when printing."); | ||||
|             notify_manager->bbl_show_seqprintinfo_notification(info_text); | ||||
|             //always show label when switch to sequence print
 | ||||
|             this->show_view3D_labels(true); | ||||
|             if (print_sequence_changed) | ||||
|                 this->show_view3D_labels(true); | ||||
|         } | ||||
|         else | ||||
|             notify_manager->bbl_close_seqprintinfo_notification(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 lane.wei
						lane.wei