Przeglądaj źródła

Merge pull request #3257 from TheHX/pr-range-properties

Fix error caused by dragging a Range property
Rémi Verschelde 9 lat temu
rodzic
commit
cbdcd99b85
2 zmienionych plików z 10 dodań i 10 usunięć
  1. 8 8
      scene/gui/range.cpp
  2. 2 2
      scene/gui/range.h

+ 8 - 8
scene/gui/range.cpp

@@ -48,20 +48,20 @@ void Range::Shared::emit_value_changed() {
 	}
 	}
 }
 }
 
 
-void Range::_changed_notify() {
+void Range::_changed_notify(const char *p_what) {
 
 
 	emit_signal("changed",shared->val);
 	emit_signal("changed",shared->val);
 	update();
 	update();
-	_change_notify();
+	_change_notify(p_what);
 }
 }
 
 
-void Range::Shared::emit_changed() {
+void Range::Shared::emit_changed(const char *p_what) {
 
 
 	for (Set<Range*>::Element *E=owners.front();E;E=E->next()) {
 	for (Set<Range*>::Element *E=owners.front();E;E=E->next()) {
 		Range *r=E->get();
 		Range *r=E->get();
 		if (!r->is_inside_tree())
 		if (!r->is_inside_tree())
 			continue;
 			continue;
-		r->_changed_notify();
+		r->_changed_notify(p_what);
 	}
 	}
 }
 }
 
 
@@ -94,20 +94,20 @@ void Range::set_min(double p_min) {
 	shared->min=p_min;
 	shared->min=p_min;
 	set_val(shared->val);
 	set_val(shared->val);
 	
 	
-	shared->emit_changed();
+	shared->emit_changed("range/min");
 }
 }
 void Range::set_max(double p_max) {
 void Range::set_max(double p_max) {
 	
 	
 	shared->max=p_max;
 	shared->max=p_max;
 	set_val(shared->val);
 	set_val(shared->val);
 		
 		
-	shared->emit_changed();
+	shared->emit_changed("range/max");
 
 
 }
 }
 void Range::set_step(double p_step) {
 void Range::set_step(double p_step) {
 	
 	
 	shared->step=p_step;
 	shared->step=p_step;
-	shared->emit_changed();
+	shared->emit_changed("range/step");
 
 
 }
 }
 void Range::set_page(double p_page) {
 void Range::set_page(double p_page) {
@@ -115,7 +115,7 @@ void Range::set_page(double p_page) {
 	shared->page=p_page;
 	shared->page=p_page;
 	set_val(shared->val);
 	set_val(shared->val);
 			
 			
-	shared->emit_changed();
+	shared->emit_changed("range/page");
 }
 }
 
 
 double Range::get_val() const {
 double Range::get_val() const {

+ 2 - 2
scene/gui/range.h

@@ -44,7 +44,7 @@ class Range : public Control {
 		bool exp_unit_value;
 		bool exp_unit_value;
 		Set<Range*> owners;
 		Set<Range*> owners;
 		void emit_value_changed();
 		void emit_value_changed();
-		void emit_changed();
+		void emit_changed(const char *p_what="");
 	};
 	};
 
 
 	Shared *shared;
 	Shared *shared;
@@ -55,7 +55,7 @@ class Range : public Control {
 	void _share(Node *p_range);
 	void _share(Node *p_range);
 
 
 	void _value_changed_notify();
 	void _value_changed_notify();
-	void _changed_notify();
+	void _changed_notify(const char *p_what="");
 
 
 protected:	
 protected: