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

Re: tsvn 1.6.5+ part of overlay icons missing on Win7 x64

From: Robert Roessler <robertr_at_rftp.com>
Date: Fri, 13 Nov 2009 14:03:06 -0800

Stefan Küng wrote:
> Robert Roessler wrote:
>> Stefan Küng wrote:
>>> Can you try again now with the modified version:
>>> http://tortoisesvn.tigris.org/svn/tortoisesvn/TortoiseOverlays/testbin/
>>>
>>> (or just wait for the next nightly build).
>>
>> Thanks, Stefan!
>>
>> With your TortoiseOverlays.dll 1.0.10.17690 installed over the TSVN
>> 1.6.4 release, everything works the same as it was with just 1.6.4 +
>> TCVS 1.11.3... so this means that if I install a nightly (starting with
>> the next one), I should see the same thing with 1.6.6+?
>
> Yes, I'll merge those changes back to the 1.6.x branch soon.
>
>> Note that it is only working as well as it WAS... I can only really see
>> that Normal, Modified, and Conflicted overlays work. And, e.g., Ignored
>> (and I think Unversioned), do NOT work. But the ones the DO work are
>> the main ones I care about... ;)
>
> The first overlay to go (i.e., to not be used/shown) is the
> 'unversioned' one, then the ignored, locked and added overlay.
>
> As you know, there are 15 possible overlay slots. On Vista/Win7, four of
> them are already used by the shell itself:
> * shortcut (arrow)
> * shared folders (hand)
> * UAC (shield)
> * offline
>
> So there are only 11 overlay slots available for TSVN and other overlay
> handlers to use.
>
> The problem you got on x64 is that Windows loads the overlay handlers in
> an unknown order (not documented), and x64 seems to be loading them in a
> different order than x86. So x64 loads the overlays until all slots are
> filled, but the 'normal' overlay didn't get loaded because when it came
> to that overlay handler, all the slots were already filled. x86 loads in
> a different order, so an 'unimportant' handler of TSVN was not loaded
> and nobody noticed.
>
> I've changed the Overlays component now so that it prevents the
> 'unimportant' overlays from getting loaded if it finds that there
> wouldn't be enough slots available for all the important ones.
>
> Right now, the unversioned overlay isn't loaded if there are 10 or more
> entries under
> Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellIconOverlayIdentifiers
> since the shells own overlay handlers don't seem to be listed there.
>
> I'll change this a little bit (but not today anymore) so that the
> 'added' overlay will go first - I think showing the 'modified' overlay
> for added files wouldn't be so bad.
>
> Also I've noticed that at least the 'offline' overlay handler is
> registered under that registry key so I can increase the cut-off limit
> by one.

This is great, Stefan - it sounds like you have this thing nailed.

One thing *I* don't understand is, if my overlay set of choice
("XPStyle") has only NINE icon images, why is there a "shortage of
slots" issue at all (with 9 < 11 etc)?

Or is the shortage because of OTHER software that I have installed?

Robert Roessler

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2417778

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-11-13 23:04:19 CET

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