Rank: Newbie Groups: Member
Joined: 7/22/2010 Posts: 6 Points: -129
|
I think there's a small bug in Visual Styler.
My app is a plugin, so Visual Styler style's are only applied to my forms, not the host application's forms.
If I'm debugging in VS2008, and I stop debugging while one of the Visual Styler forms is open, svchost.exe *32 will lock up. The only way I can debug again is if I manually quit the svchost.exe *32 process, clean the solution files, and debug again. I notice that if I close the Visual Styler styled form(s) before I stop debugging, everything works fine.
Thanks.
|
 Rank: Administration Groups: Administration
Joined: 2/19/2008 Posts: 158 Points: -1,473 Location: UK
|
Hi,
This is most likely due to the fact that WinForms is being hosted by an external application. Normally the UI thread that pumps messages is created by Windows Forms, however when hosted outside windows forms (as in your case) then the message pump (and thread) is created by the host application.
VisualStyler creates a strong reference to an internal skin context object on the calling thread. In a normal Windows Forms application we listen for ProcessExit and ThreadExit events and then gracefully shutdown the skin engine when these occur. So when when you stop debugging, neither of these events have fired so the skin engine is still active in the background (unless you close the form).
The only thing we can do in this scenario is somehow detect this condition and that a debugger is attached and then manually shutdown internally.
Hope that makes sense!
|
Rank: Newbie Groups: Member
Joined: 7/22/2010 Posts: 6 Points: -129
|
Seems to have gone away in VS 2010
|