This is a fix for my just posted
BUG [ 1372971 ] Unicode info lost when opening from
DirView
http://sourceforge.net/tracker/index.php?func=detail&aid=1372971&group_id=13216&atid=113216
Also this simplifies some code (changing some difficult
to understand nested methods into simple one-level
methods -- I believe those were my fault long ago, and
I never had the energy to try to rework them to make
them more intelligible).
I moved the entire nested "FilepathWithEncoding" struct
up into a top-level structure, with no real methods, so
it is easier to use and understand. I also renamed it
from my original long name (FilepathWithEncoding) to
the more concise "FileLocation". The long name was more
descriptive, but inconvenient for use.
I changed argument passing from CDirView::OpenSelection
to ShowMergeDoc and to OpenDocs to use FileLocations,
so that codepage & unicoding are always passed with the
file path.
Zip (196Kb) of 9 altered & original files & 1 new
Logged In: YES
user_id=1195173
Apply to cvs & close.
**
PATCH: [ 1373020 ] Carry unicoding, codepage, & file path
together
Src: DiffWrapper.cpp DiffWrapper.h DirScan.cpp DirView.cpp
MainFrm.cpp MainFrm.h Merge.dsp MergeDoc.cpp MergeDoc.h
Src\Common: RegKey.cpp
**
Checking in Src/Changes.txt;
/cvsroot/winmerge/WinMerge/Src/Changes.txt,v <-- Changes.txt
new revision: 1.121; previous revision: 1.120
done
Checking in Src/DiffWrapper.cpp;
/cvsroot/winmerge/WinMerge/Src/DiffWrapper.cpp,v <--
DiffWrapper.cpp
new revision: 1.70; previous revision: 1.69
done
Checking in Src/DiffWrapper.h;
/cvsroot/winmerge/WinMerge/Src/DiffWrapper.h,v <--
DiffWrapper.h
new revision: 1.35; previous revision: 1.34
done
Checking in Src/DirScan.cpp;
/cvsroot/winmerge/WinMerge/Src/DirScan.cpp,v <-- DirScan.cpp
new revision: 1.62; previous revision: 1.61
done
Checking in Src/DirView.cpp;
/cvsroot/winmerge/WinMerge/Src/DirView.cpp,v <-- DirView.cpp
new revision: 1.165; previous revision: 1.164
done
Checking in Src/MainFrm.cpp;
/cvsroot/winmerge/WinMerge/Src/MainFrm.cpp,v <-- MainFrm.cpp
new revision: 1.300; previous revision: 1.299
done
Checking in Src/MainFrm.h;
/cvsroot/winmerge/WinMerge/Src/MainFrm.h,v <-- MainFrm.h
new revision: 1.107; previous revision: 1.106
done
Checking in Src/Merge.dsp;
/cvsroot/winmerge/WinMerge/Src/Merge.dsp,v <-- Merge.dsp
new revision: 1.117; previous revision: 1.116
done
Checking in Src/MergeDoc.cpp;
/cvsroot/winmerge/WinMerge/Src/MergeDoc.cpp,v <-- MergeDoc.cpp
new revision: 1.275; previous revision: 1.274
done
Checking in Src/MergeDoc.h;
/cvsroot/winmerge/WinMerge/Src/MergeDoc.h,v <-- MergeDoc.h
new revision: 1.111; previous revision: 1.110
done
Checking in Src/Common/RegKey.cpp;
/cvsroot/winmerge/WinMerge/Src/Common/RegKey.cpp,v <--
RegKey.cpp
new revision: 1.4; previous revision: 1.3
done
Success, CVS operation completed