[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: intl3_svn.dll & another TSVN dlls

From: George Hazan <george.hazan_at_gmail.com>
Date: 2007-05-22 21:56:44 CEST

   Hello, Stefan!
   Tue, 22 May 2007 20:03:47 +0200 you wrote:

>> Why these dlls are being loaded into almost any programs running on my
>> computer? For example, into Miranda IM, which never runs any SVN-specific
>> code or explorer windows. How can I avoid it?
SK> Settings dialog->Icon overlays->Show overlays only in explorer

It doesn't help.

>> If I do understand things correctly, they should be loaded only by
>> explorer.exe or programs like file managers.
SK> Or any program that uses a file-open/file-save dialog, because that's a
SK> shell dialog. And TSVN is a shell extension, which means the shell will
SK> load TSVN automatically before showing those dialogs.

There're a load of programs which are statically linked with the
SHELL32.DLL, but they don't load TSVN. For example, FAR (File & Archives
Manager).

SK> You don't understand: shell32.dll loads all shell extensions, but your
SK> applications load shell32.dll.

I do understand the situation :) but, as I said above, the direct linking
with SHELL32 doesn't result to shell extensions loading. Yes, Bill suxx, but
not that strong :)

These extensions are being loaded on call of shell dialogs or on a call of
ShellExecute(), but I'm pretty sure that Miranda doesn't call noone of them.
It just display the contact list window, and all TSVN dlls are there.

SK> And I have no idea how dynamic linking would change anything here. The
SK> tsvn dll *is* linked dynamically, and the *.so files are loaded
SK> dynamically too.

Well, the TSVN's engine is a piece of binary code of ~800K. Imagine the
situation when the extension dll does only menus, thus its size can be quite
small, for example, 80K (~30 icons + 20K of code). Then, if a user clicks on
that menu, and only in this case, the entire engine gets loaded into memory
by calling LoadLibrary. Rught now the whole engine is compiled statically,
i.e. the hook dll calls everything else.

SK> But what exactly is your problem here?

My problem is that I've got the whole bunch of some nonshared dlls into
almost any process in my Windows. It's ok for the 27K hook dll of my
keyboard switcher, but 800K of code + some private data are imho too much.

-- 
WMBR, George Hazan (ghazan@postman.ru) 
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Tue May 22 21:55:32 2007

This is an archived mail posted to the TortoiseSVN Users mailing list.