浏览代码

Fix proper ordering of project settings properties, also fixes inability to change order of autoloads

reduz 9 年之前
父节点
当前提交
496cb49771
共有 3 个文件被更改,包括 9 次插入6 次删除
  1. 1 1
      core/globals.cpp
  2. 1 1
      scene/gui/rich_text_label.cpp
  3. 7 4
      tools/editor/project_settings.cpp

+ 1 - 1
core/globals.cpp

@@ -137,7 +137,7 @@ bool Globals::_set(const StringName& p_name, const Variant& p_value) {
 				props[p_name].order=last_order++;
 			}
 		} else {
-			props[p_name]=VariantContainer(p_value,last_order++ + registering_order?0:NO_ORDER_BASE);
+			props[p_name]=VariantContainer(p_value,last_order++ + (registering_order?0:NO_ORDER_BASE));
 		}
 	}
 

+ 1 - 1
scene/gui/rich_text_label.cpp

@@ -86,7 +86,7 @@ RichTextLabel::Item *RichTextLabel::_get_next_item(Item* p_item,bool p_free) {
 
 
 void RichTextLabel::_process_line(ItemFrame *p_frame,const Vector2& p_ofs,int &y, int p_width, int p_line, ProcessMode p_mode,const Ref<Font> &p_base_font,const Color &p_base_color,const Point2i& p_click_pos,Item **r_click_item,int *r_click_char,bool *r_outside,int p_char_count) {
-	print_line("BEGIN");
+
 	RID ci;
 	if (r_outside)
 		*r_outside=false;

+ 7 - 4
tools/editor/project_settings.cpp

@@ -930,11 +930,14 @@ void ProjectSettings::_autoload_delete(Object *p_item,int p_column, int p_button
 
 		String swap_name= "autoload/"+swap->get_text(0);
 
+		int order = Globals::get_singleton()->get_order(name);
+		int swap_order = Globals::get_singleton()->get_order(swap_name);
+
 		undo_redo->create_action("Move Autoload");
-		undo_redo->add_do_method(Globals::get_singleton(),"set_order",swap_name,Globals::get_singleton()->get_order(name));
-		undo_redo->add_do_method(Globals::get_singleton(),"set_order",name,Globals::get_singleton()->get_order(swap_name));
-		undo_redo->add_undo_method(Globals::get_singleton(),"set_order",swap_name,Globals::get_singleton()->get_order(swap_name));
-		undo_redo->add_undo_method(Globals::get_singleton(),"set_order",name,Globals::get_singleton()->get_order(name));
+		undo_redo->add_do_method(Globals::get_singleton(),"set_order",swap_name,order);
+		undo_redo->add_do_method(Globals::get_singleton(),"set_order",name,swap_order);
+		undo_redo->add_undo_method(Globals::get_singleton(),"set_order",swap_name,swap_order);
+		undo_redo->add_undo_method(Globals::get_singleton(),"set_order",name,order);
 		undo_redo->add_do_method(this,"_update_autoload");
 		undo_redo->add_undo_method(this,"_update_autoload");
 		undo_redo->add_do_method(this,"_settings_changed");