-
Notifications
You must be signed in to change notification settings - Fork 516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make sure tooltip window handle is being destroyed when parent window/control is destroyed #2094
base: unity-main
Are you sure you want to change the base?
Conversation
|
I see that you've indicated that these changes need to be upstreamed. Have you opened a PR for dotnet/runtime? |
I haven't. I would like to get an opinion from you guys. I'm not sure what kind of changes you usually submit to mono/mono. |
It is unlikely that anyone is maintaining or any original authors would review the Mono Windows Forms source at this point. |
I was more curious if you had noticed if the |
Inside Systems.Windows.Forms various dialogs and views use and create Tooltip window. The tooltip window is special in a way that is never added to the controls of the window which created the tooltip resulting in never being destroyed with the main window. After the tooltip window is used and domain reload happens, focusing on a newly created main window can result in a crash as the tooltip's registered class object no longer exists in memory.
This PR adds two things:
The fix is applied to the following classes instantiating the tooltip:
datagridview
internalwindowmanager
filedialog
tabcontrol
statusbar
listview
toolstriptextbox
toolstrip
toolbar
treeview
Fix is not applied to the following classes instantiating tooltip as there is no obvious or guaranteed owner:
helpprovider
errorprovider
Should this pull request have release notes?
Do these changes need to be back ported?
Do these changes need to be upstreamed to mono/mono or dotnet/runtime repositories?
Reviewers: please consider these questions as well! ❤️
An important note on these changes is that this PR will influence Unity's mono and may be submitted to the upstream. However, the user reporting this crash is using a third-party plugin (just System.Windows.Forms dll) generated from an unknown version of mono (similar to the case UUM-13189 ) which makes it more involved to get this fix over to them than just fixing it in Unity's stream.
Release notes
Fixed UUM-79065 @zorana.curkovic
Mono: Prevent the crash on domain reload when Windows Form is using a tooltip window.
6000.0
2022.3