File tree 1 file changed +11
-9
lines changed
1 file changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -1732,11 +1732,15 @@ void Control::_size_changed() {
1732
1732
new_size_cache.height = minimum_size.height ;
1733
1733
}
1734
1734
1735
- bool pos_changed = new_pos_cache != data.pos_cache ;
1736
- bool size_changed = new_size_cache != data.size_cache ;
1735
+ bool pos_changed = !new_pos_cache. is_equal_approx ( data.pos_cache ) ;
1736
+ bool size_changed = !new_size_cache. is_equal_approx ( data.size_cache ) ;
1737
1737
1738
- data.pos_cache = new_pos_cache;
1739
- data.size_cache = new_size_cache;
1738
+ if (pos_changed) {
1739
+ data.pos_cache = new_pos_cache;
1740
+ }
1741
+ if (size_changed) {
1742
+ data.size_cache = new_size_cache;
1743
+ }
1740
1744
1741
1745
if (is_inside_tree ()) {
1742
1746
if (pos_changed || size_changed) {
@@ -1751,12 +1755,10 @@ void Control::_size_changed() {
1751
1755
}
1752
1756
1753
1757
if (pos_changed && !size_changed) {
1754
- _update_canvas_item_transform (); // move because it won't be updated
1755
- }
1756
- } else {
1757
- if (pos_changed) {
1758
- _notify_transform ();
1758
+ _update_canvas_item_transform ();
1759
1759
}
1760
+ } else if (pos_changed) {
1761
+ _notify_transform ();
1760
1762
}
1761
1763
}
1762
1764
You can’t perform that action at this time.
0 commit comments