SonyWWS / ATF

Authoring Tools Framework (ATF) is a set of C#/.NET components for making tools on Windows. ATF has been in continuous development in Sony Computer Entertainment's (SCE) Worldwide Studios central tools group since early 2005. ATF has been used by most SCE first party studios to make many custom tools such as Naughty Dog’s level editor and shader editor for The Last of Us, Guerrilla Games’ sequence editor for Killzone games (including the Killzone: Shadow Fall PS4 launch title), an animation blending tool at Santa Monica Studio, a level editor at Bend Studio, a visual state machine editor for Quantic Dream, sound editing tools, and many others.
Apache License 2.0
1.89k stars 262 forks source link

ToolTip issue in PropertyEditor #37

Closed vorptronica closed 9 years ago

vorptronica commented 9 years ago

I've also posted this in the Google Group but we suspect this may be a bug in ATF so I'm posting here as well.

I'm having an issue customizing my variant of the DomPropertyEditor example to use ToolTips instead of "DisplayDescriptions" which appears in the status bar. Basically, all I've done is create a subclass of PropertyEditor and then in the Configure method, my first call is:

propertyGrid = new PropertyGrid(PropertyGridMode.DisplayToolTips, new PropertyGridView());

If I change "DisplayToolTips" to "DisplayDescriptions" everything is great, and I see descriptions fine. But in the form above, clicking on a property name crashes the app with the error I've copied below. Any ideas on why some cleanup would crash it? The stack trace isn't very useful. I'm a bit stumped. Thanks! -Len

Crash error follows:

Managed Debugging Assistant 'RaceOnRCWCleanup' has detected a problem in 'C:\tools\TestApp\bin\Debug\TestApp.vshost.exe'. Additional Information: An attempt has been made to free an RCW that is in use. The RCW is in use on the active thread or another thread. Attempting to free an in-use RCW can cause corruption or data loss.

Ron2 commented 9 years ago

Thanks, Len, for the good bug report. I think this was a case of "bit rot", where this code path wasn't exercised any more in a sample app. I made the Circuit Editor sample app use this PropertyGridMode.DisplayToolTips enum now.