On 18.4.2007 21:13, Stefan Küng wrote:
> Jan Rysavy wrote:
>> Hi,
>>
>> I would like to ask you: does your shell extension create a new
>> thread when we call IShellIconOverlayIdentifier::IsMemberOf()?
>> (Our threads are guarded by bug reporting system but we didn't
>> catch this exception.)
>
> No, it doesn't create separate threads at all. And it's apartment
> threaded, which means it must not be called from different threads
> either. If you use it from different threads, you must load a separate
> instance of it for each thread.
> Stefan
I want only note one thing we found yesterday. It is clear now why our
bug reporting system (try/catch blocks and SetUnhandledExceptionFilter)
doesn't catch "exceptions" from TSVN shell extension.
The reason is Visual C++ 2005 CRT library used in TSVN project. There is
major change to the previous version of CRT in behaviour during security
checks. CRT ignores user-defined unhandled exception filter and calls
directly Dr.Watson, the standard Windows bug reporting mechanism.
For more information see
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101337
And the only known "solution" (rather dirty hack that we are using now):
http://www.debuginfo.com/articles/debugfilters.html
http://blog.kalmbachnet.de/?postid=75
Best regards
Jan Rysavy
ALTAP
Czech Republic
http://www.altap.cz/
mailto:jan.rysavy@altap.cz
Tel.: +420 487 725 132
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Thu Jun 28 21:23:22 2007