Browse Source

Fix some popups menu missing screen transform.

Closes #38591
Juan Linietsky 5 years ago
parent
commit
f0e320decf

+ 1 - 1
editor/filesystem_dock.cpp

@@ -2313,7 +2313,7 @@ void FileSystemDock::_tree_rmb_select(const Vector2 &p_pos) {
 		tree_popup->clear();
 		tree_popup->set_size(Size2(1, 1));
 		_file_and_folders_fill_popup(tree_popup, paths);
-		tree_popup->set_position(tree->get_global_position() + p_pos);
+		tree_popup->set_position(tree->get_screen_position() + p_pos);
 		tree_popup->popup();
 	}
 }

+ 1 - 1
editor/scene_tree_dock.cpp

@@ -2399,7 +2399,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
 		}
 
 		menu->set_size(Size2(1, 1));
-		menu->set_position(p_menu_pos);
+		menu->set_position(get_screen_position() + p_menu_pos);
 		menu->popup();
 		return;
 	}

+ 1 - 1
editor/scene_tree_editor.cpp

@@ -1072,7 +1072,7 @@ void SceneTreeEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data,
 }
 
 void SceneTreeEditor::_rmb_select(const Vector2 &p_pos) {
-	emit_signal("rmb_pressed", tree->get_global_transform().xform(p_pos));
+	emit_signal("rmb_pressed", tree->get_screen_transform().xform(p_pos));
 }
 
 void SceneTreeEditor::_warning_changed(Node *p_for_node) {

+ 1 - 1
scene/gui/line_edit.cpp

@@ -51,7 +51,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
 
 	if (b.is_valid()) {
 		if (b->is_pressed() && b->get_button_index() == BUTTON_RIGHT && context_menu_enabled) {
-			menu->set_position(get_global_transform().xform(get_local_mouse_position()));
+			menu->set_position(get_screen_transform().xform(get_local_mouse_position()));
 			menu->set_size(Vector2(1, 1));
 			//menu->set_scale(get_global_transform().get_scale());
 			menu->popup();