Browse Source

Make sure variant parser actually writes floats when float property is requested, closes #3301

Juan Linietsky 9 years ago
parent
commit
cc34e0dee9
2 changed files with 7 additions and 4 deletions
  1. 4 1
      core/variant_parser.cpp
  2. 3 3
      tools/editor/animation_editor.cpp

+ 4 - 1
core/variant_parser.cpp

@@ -1801,7 +1801,10 @@ Error VariantWriter::write(const Variant& p_variant, StoreStringFunc p_store_str
 		} break;
 		} break;
 		case Variant::REAL: {
 		case Variant::REAL: {
 
 
-			p_store_string_func(p_store_string_ud, rtoss(p_variant.operator real_t()) );
+			String s = rtoss(p_variant.operator real_t());
+			if (s.find(".")==-1 && s.find("e")==-1)
+				s+=".0";
+			p_store_string_func(p_store_string_ud, s );
 		} break;
 		} break;
 		case Variant::STRING: {
 		case Variant::STRING: {
 
 

+ 3 - 3
tools/editor/animation_editor.cpp

@@ -1702,7 +1702,7 @@ bool AnimationKeyEditor::_edit_if_single_selection() {
 
 
 		if (selection.size()==0) {
 		if (selection.size()==0) {
 			curve_edit->set_mode(AnimationCurveEdit::MODE_DISABLED);
 			curve_edit->set_mode(AnimationCurveEdit::MODE_DISABLED);
-			print_line("disable");
+			//print_line("disable");
 		} else {
 		} else {
 
 
 			curve_edit->set_mode(AnimationCurveEdit::MODE_MULTIPLE);
 			curve_edit->set_mode(AnimationCurveEdit::MODE_MULTIPLE);
@@ -1713,13 +1713,13 @@ bool AnimationKeyEditor::_edit_if_single_selection() {
 
 
 				curve_edit->set_multiple(animation->track_get_key_transition(E->key().track,E->key().key));
 				curve_edit->set_multiple(animation->track_get_key_transition(E->key().track,E->key().key));
 			}
 			}
-			print_line("multiple");
+			//print_line("multiple");
 
 
 		}
 		}
 		return false;
 		return false;
 	}
 	}
 	curve_edit->set_mode(AnimationCurveEdit::MODE_SINGLE);
 	curve_edit->set_mode(AnimationCurveEdit::MODE_SINGLE);
-	print_line("regular");
+	//print_line("regular");
 
 
 	int idx = selection.front()->key().track;
 	int idx = selection.front()->key().track;
 	int key = selection.front()->key().key;
 	int key = selection.front()->key().key;