[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: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Fri, 13 Nov 2009 22:50:27 +0100

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.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2417776
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-11-13 22:49:47 CET

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