Idiot proofing the comments

    if (path.startsWithChar (separator))
        if (path[1] != separator)
            /*  When you supply a raw string to the File object constructor, it must be an absolute path.
                If you're trying to parse a string that may be either a relative path or an absolute path,
                you MUST provide a context against which the partial path can be evaluated - you can do
                this by simply using File::getChildFile() instead of the File constructor. E.g. saying
                "File::getCurrentWorkingDirectory().getChildFile (myUnknownPath)" would return an absolute
                path if that's what was supplied, or would evaluate a partial path relative to the CWD.
            path = File::getCurrentWorkingDirectory().getFullPathName().substring (0, 2) + path;

Jules - to save anyone as stupid as me some pain. It might be worth adding in here that the two \ characters you get in the watch list: 

+        path    {text={data=0x04f46988 "\\Users\\jim\\Code\\credland-1331-kick\\Resources\\gui.xml" } }    juce::String

Are bloody escape characters, and only path[0] = \ ... path[1] is in fact a U. 

Who decided \ was a good path separator anyway... :)


It's not really the place for that kind of comment, but I feel your pain!