Search Issue Tracker
Fixed
Fixed in 2022.2.3f1, 2023.1.0a26
Votes
0
Found in
2022.1.24f1
2022.2.0f1
2023.1.0a22
Issue ID
UUM-21138
Regression
Yes
Window restoration no longer restores EditorWindow instances correctly
This is a regression due to the removal of fullscreen playmode (see the following PRs):
[2023.1|https://github.cds.internal.unity3d.com/unity/unity/pull/15107]
[2022.2|https://github.cds.internal.unity3d.com/unity/unity/pull/17667]
[2022.1|https://github.cds.internal.unity3d.com/unity/unity/pull/18093]
The issue in the removal of code from {*}WinMonitorCollection.cpp{*}. The above PRs removed the implementation of *WinMonitorCollection::UpdateIfNecessary()* instead of restoring it to the functionality prior to implementation of the removed feature.
In order for the window positioning and restoration to usable area to work correctly, the implementation must be restored in affected branches.
I've attached the missing code from one of the branches as an example.
*Repro (see attached videos)*
# Download and open the project on a Windows machine with a multi monitor display
# Move the editor window to the top left of the the rightmost screen
# Go to the menu item "Windows" -> "My Window"
# Move the window to near the right edge of the screen
# Close the new window, then close the main window
# Increase the _only_ the right screen's DPI scale by 100% (so if it was 150%, make it 250%)
# Restart the editor
# Reopen the window via "Windows" -> "My Window"
*Result:*
"My Window" is not visible. It is off the screen to the right. Also, the main window is not in the same position as it was before even after taking scale into account (see videos.)
*Expected:*
"My Window" should open near the right edge of the screen since we make sure windows don't open off-screen. Also, the main window should be in the same place it was after taking scaling into account (see videos.)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- NullReferenceExceptions are being thrown when saving a ScriptableObject with an array of a type with a CustomPropertyDrawer that uses TrackPropertyValue
- Applied velocity is inconsistent when using Rigidbody AddForce() with ForceMode.VelocityChange
- Crash on AudioUtil_CUSTOM_HasAudioCallback when exiting Play Mode while the Inspector is displaying a GameObject with an empty script attached
- Scroll offset is framerate-dependent when scrolling with velocity in the Device Simulator
- "Object.FindObjectsOfType<T>() is obsolete" warning is thrown when using "Transitions Plus" asset
Resolution Note (fix version 2023.1.0a26):
Window restoration should now work correctly.
Resolution Note (fix version 2022.2.3f1):
In the Windows Editor, windows will now be restored to their proper position on scale change.