The current implementation of the method does not use the native zoom of the current monitor. Instead, it relies on the value stored in DPIUtil, which only reflects the last DPI change and not the actual "current" monitor. This causes issues in multi-monitor setups where different monitors have different DPI settings. Specifically:
Steps to Reproduce:
Set up two monitors with different DPI settings.
Start an Eclipse product (DPIUtil.nativeZoom is set to the zoom of the monitor on which the workbench shell is opened).
Drag and drop any view from the workbench to the other monitor (DPIUtil.nativeZoom changes to the native zoom of that other monitor).
Open any view in the original workbench containing a tree (e.g., Project Explorer).
Observed Result:
Indents and other UI elements are broken because the native zoom of the second monitor is applied to the original monitor's view.
Expected Result:
Each monitor's native zoom should be used correctly without affecting the views on other monitors.
The current implementation of the method does not use the native zoom of the current monitor. Instead, it relies on the value stored in DPIUtil, which only reflects the last DPI change and not the actual "current" monitor. This causes issues in multi-monitor setups where different monitors have different DPI settings. Specifically:
Steps to Reproduce:
Observed Result: Indents and other UI elements are broken because the native zoom of the second monitor is applied to the original monitor's view.
Expected Result: Each monitor's native zoom should be used correctly without affecting the views on other monitors.