Merge pull request #46482 from KoBeWi/size_warning_the_sequel

Warn about changing size only when it's relevant
This commit is contained in:
Rémi Verschelde 2021-06-03 11:21:33 +02:00 committed by GitHub
commit d7f1718742
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -515,7 +515,9 @@ void Control::_notification(int p_notification) {
get_viewport()->_gui_remove_control(this); get_viewport()->_gui_remove_control(this);
} break; } break;
case NOTIFICATION_READY: { case NOTIFICATION_READY: {
#ifdef DEBUG_ENABLED
connect("ready", callable_mp(this, &Control::_clear_size_warning), varray(), CONNECT_DEFERRED | CONNECT_ONESHOT); connect("ready", callable_mp(this, &Control::_clear_size_warning), varray(), CONNECT_DEFERRED | CONNECT_ONESHOT);
#endif
} break; } break;
case NOTIFICATION_ENTER_CANVAS: { case NOTIFICATION_ENTER_CANVAS: {
@ -1579,8 +1581,8 @@ void Control::set_rect(const Rect2 &p_rect) {
void Control::_set_size(const Size2 &p_size) { void Control::_set_size(const Size2 &p_size) {
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED
if (data.size_warning) { if (data.size_warning && (data.anchor[SIDE_LEFT] != data.anchor[SIDE_RIGHT] || data.anchor[SIDE_TOP] != data.anchor[SIDE_BOTTOM])) {
WARN_PRINT("Adjusting the size of Control nodes before they are fully initialized is unreliable. Consider deferring it with set_deferred()."); WARN_PRINT("Nodes with non-equal opposite anchors will have their size overriden after _ready(). \nIf you want to set size, change the anchors or consider using set_deferred().");
} }
#endif #endif
set_size(p_size); set_size(p_size);