Fix WindowDialog moving when resized from the left/top edge

get_combined_minimum_size() must be used in order to consider the min size
specified by the user when determining how far the left/top edge is allowed
to move. Otherwise the dialog may think it can shrink further than it
should, causing the right/bottom edge to move when the rect size is fixed in
set_size().
This commit is contained in:
James Buck 2019-11-24 23:07:33 -06:00
parent 636bc5c32f
commit 5f451e0fb2

View file

@ -161,7 +161,7 @@ void WindowDialog::_gui_input(const Ref<InputEvent> &p_event) {
global_pos.y = MAX(global_pos.y, 0); // Ensure title bar stays visible.
Rect2 rect = get_rect();
Size2 min_size = get_minimum_size();
Size2 min_size = get_combined_minimum_size();
if (drag_type == DRAG_MOVE) {
rect.position = global_pos - drag_offset;