From 72fcb8a35beab251d01864bc67da3e3a8e75aed6 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sat, 16 Jan 2016 22:41:10 -0300 Subject: -Moved all the "root" input handling for GUI from individual Controls to Viewport. -Should fix several reported bugs when controls don't have a common parent This may have added new bugs, so please report if so! --- scene/gui/popup.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'scene/gui/popup.cpp') diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp index 03ef50c49..1f04985ec 100644 --- a/scene/gui/popup.cpp +++ b/scene/gui/popup.cpp @@ -59,8 +59,6 @@ void Popup::_notification(int p_what) { void Popup::_fix_size() { - Control *window = get_window(); - ERR_FAIL_COND(!window); #if 0 Point2 pos = get_pos(); @@ -182,14 +180,12 @@ void Popup::popup_centered_minsize(const Size2& p_minsize) { void Popup::popup_centered(const Size2& p_size) { - Control *window = get_window(); - ERR_FAIL_COND(!window); - + Point2 window_size = get_viewport_rect().size; emit_signal("about_to_show"); Rect2 rect; rect.size = p_size==Size2()?get_size():p_size; - Point2 window_size = window==this ? get_parent_area_size() :window->get_size(); + rect.pos = ((window_size-rect.size)/2.0).floor(); set_pos( rect.pos ); set_size( rect.size ); @@ -209,13 +205,11 @@ void Popup::popup_centered(const Size2& p_size) { void Popup::popup_centered_ratio(float p_screen_ratio) { - Control *window = get_window(); - ERR_FAIL_COND(!window); emit_signal("about_to_show"); Rect2 rect; - Point2 window_size = window==this ? get_parent_area_size() :window->get_size(); + Point2 window_size = get_viewport_rect().size; rect.size = (window_size * p_screen_ratio).floor(); rect.pos = ((window_size-rect.size)/2.0).floor(); set_pos( rect.pos ); -- cgit v1.2.3-70-g09d2