Skip to content
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

BuildProgressView and RadialProgressBar leak WPF animations #966

Open
ryanmolden opened this issue Jan 12, 2023 · 4 comments · Fixed by #968
Open

BuildProgressView and RadialProgressBar leak WPF animations #966

ryanmolden opened this issue Jan 12, 2023 · 4 comments · Fixed by #968
Milestone

Comments

@ryanmolden
Copy link

ryanmolden commented Jan 12, 2023

Both BuildProgressView and RadialProgressBar leak WPF animations due to setting a WPF ProgressBar element's IsIndeterminate property to true. The value of this property needs to either be bound to the visibility of the control or be part of a multi-binding with its current logic + the visibility of the control.

This is causing leaked animations to show up in our internal report (I work on the Visual Studio team) as the number 8 and number 9 most common source of these leaks in 17.5

The WPF bug has been fixed here: dotnet/wpf#6264

But that fix will not be ported back to the WPF version that VS uses, so individual offenders need to be fixed.

@codecadwallader
Copy link
Owner

Thanks for reporting the issue. I've got a proposed fix up in PR #968. Can you take a look and let me know if that is what you had in mind and will bypass the WPF leak?

@ryanmolden
Copy link
Author

The fix looks good, will that also fix RadialProgressBar? It looks like it just hit BuildProgressView.

@codecadwallader
Copy link
Owner

I don't see that we are using the IsIndeterminate property on the RadilProgressBar, only the BuildProgressView. Does it have to be set even if it's not being used and is always false?

@ryanmolden
Copy link
Author

Sorry for the super late reply, not on GitHub much and didn't see any notification. You shouldn't have to set it explicitly, it should default to false. I would have to dig into the dumps we have were we detected RadialProgressBar as an offender, could be a false positive.

@codecadwallader codecadwallader added this to the v12.1 milestone Jul 22, 2023
@codecadwallader codecadwallader linked a pull request Jul 22, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants