Browse Source

-Obscure bug in popups solved, fixes #1008

Juan Linietsky 10 years ago
parent
commit
f39473ae7a
1 changed files with 14 additions and 1 deletions
  1. 14 1
      scene/gui/popup.cpp

+ 14 - 1
scene/gui/popup.cpp

@@ -51,11 +51,18 @@ void Popup::_fix_size() {
 	
 	
 	Control *window = get_window();
 	Control *window = get_window();
 	ERR_FAIL_COND(!window);
 	ERR_FAIL_COND(!window);
-	
+
+#if 0
 	Point2 pos = get_pos();
 	Point2 pos = get_pos();
 	Size2 size = get_size();		
 	Size2 size = get_size();		
 	Point2 window_size = window==this ? get_parent_area_size()  :window->get_size();
 	Point2 window_size = window==this ? get_parent_area_size()  :window->get_size();
+#else
+
+	Point2 pos = get_global_pos();
+	Size2 size = get_size();
+	Point2 window_size = get_viewport_rect().size;
 
 
+#endif
 	if (pos.x+size.width > window_size.width)
 	if (pos.x+size.width > window_size.width)
 		pos.x=window_size.width-size.width;
 		pos.x=window_size.width-size.width;
 	if (pos.x<0)
 	if (pos.x<0)
@@ -65,8 +72,14 @@ void Popup::_fix_size() {
 		pos.y=window_size.height-size.height;
 		pos.y=window_size.height-size.height;
 	if (pos.y<0)
 	if (pos.y<0)
 		pos.y=0;
 		pos.y=0;
+#if 0
 	if (pos!=get_pos())
 	if (pos!=get_pos())
 		set_pos(pos);
 		set_pos(pos);
+#else
+	if (pos!=get_pos())
+		set_global_pos(pos);
+
+#endif
 
 
 }
 }