Repair broken TortoiseSVN Explorer Overlay Icons on Windows 7 64-bit

Symptom

The cute litte Windows Explorer Shell Overlay Icons of TortoiseSVN (you know those red, green, blue, etc. icons) that indicate the SVN state of your files or folders are missing.

Your are using a 64-bit version of Microsoft Windows 7.

Cause

The 64-bit versions of Windows 7 can only handle a total of 15 overlay icon handler.

Resolution

The resolution to edit the registry, as described in this article on Stack Overflow did not work on my machine.

What actually helped was that I updated to the latest version of TortoiseSVN and then used Autoruns from Sysinternals to remove all the Shell overlay icon identifiers except those of TortoiseSVN:

In my case there were lots of those ugly Groove entries (installed by Microsoft Office 2010) and some Dropbox entries.

After unchecking and rebooting my machine, the TortoiseSVN icons appeared again.

You can get Autoruns directly from the URL http://live.sysinternals.com/autoruns.exe without the need to install anything.

AllocSysString

Hartnäckigkeit zahlt sich oft aus: Heute habe ich ein Speicherleck (englisch „Memory leak“) in Zeta Producer korrigiert, das seit Version 5 drin war:

Beim Aufruf der Microsoft Scripting Engine habe ich beim Aufruf der Funktion IActiveScriptParse::ParseScriptText irrtümlicherweise CStringT::AllocSysString aufgerufen und den so angeforderten Speicher selbst nicht mehr freigegeben. Dies hätte ich jedoch machen müssen, was ich in der korrigierten Version nun mache.

Das hätte ich aber machen sollen! „RTFM“ hat Mario mir da gleich geantwortet als ich es ihm erzählt habe.

Hiermit also nochmals der ultimative Artikel wann wer für die Freigabe von Zeichenfolgen die mittels AllocSysString reserviert wurden verantwortlich ist: „Allocating and Releasing Memory for a BSTR (Visual C++ Concepts)„.