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

Fix error caused by dragging a Range property
This commit is contained in:
Rémi Verschelde 2016-01-11 11:50:50 +01:00
commit cbdcd99b85
2 changed files with 10 additions and 10 deletions

View file

@ -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 {

View file

@ -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: