Search Issue Tracker

Won't Fix

Votes

1

Found in [Package]

1.4.15

1.7.6

Issue ID

UVSB-1371

Regression

No

Node drop-down opens at a different location on-screen than the Node is at when Zoom is lower than 1x in Visual Scripting Graph

Package: Visual Scripting

-

How to reproduce:
1. Create a new project
2. In the Project window, click the right mouse button > Create > Bolt / Visual Scripting > Flow Macro / Script Graph
3. Open the created Flow macro / Script Graph
4. Add a Node that has a drop-down menu, for example: right-click into an empty space > Events > Input > On Button Input
5. Zoom out so you can still see the drop-down menu button
6. Open the drop-down menu on the Node

Expected result: drop-down menu opens at the Node's location on-screen
Actual result: drop-down menu opens at a different location on-screen than the Node is at

Reproducible with: Bolt 1.4.13 (2018.4.33f1, 2019.4.23f1, 2020.3.2f1, 2021.1.0f1, 2021.2.0a10), Visual Scripting 1.5.2-release (2021.1.0f1, 2021.2.0a10)

*Note from [~philip]:*
Could you explain why we need a offset? If you need to position the pop up there is EditorGUI.EnumPopup() to accomplish what you need. All EditorGUILayout.enumpopup does is pass `Rect r = s_LastRect = GetControlRect(false, EditorGUI.kSingleLineHeight, style, options);` to the EditorGUI version. You could get that information and then apply any offset you want.

Issue with adding a offset to this one call would be that we would need to add it everywhere else which wont happen.

  1. Resolution Note:

    Fix would involve a significant change in the IMGUI library with potential side-effects, or re-doing the popup to be entirely controlled by the VS package. The first possibility is unfeasible and the second has been decided to be too much work and added maintenance burden considering our GUI will change with the eventual refactor to using UIToolkit.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.