OSDN Git Service
Takashi Sawanaka [Tue, 17 Jul 2018 15:49:31 +0000 (00:49 +0900)]
Merge pull request #91 from GreyMerlin/master
Attempt to fix the issue #100 - Part 2 ... and more
Bill [Mon, 16 Jul 2018 23:35:38 +0000 (16:35 -0700)]
Additions to .gitignore
- I don't know why these "all of a sudden" became necessary. The files
have always existed and have always seemed to be ignored before ??
Bill [Mon, 16 Jul 2018 23:26:47 +0000 (16:26 -0700)]
Update project to latest "Platform Version"
Bill [Mon, 16 Jul 2018 23:25:53 +0000 (16:25 -0700)]
Add a new Solution Filter for TestMerge source files
- Add **MergeTest** as a filter folder to the Solution Explorer.
- Move the Files `Test.cpp`, `TestMain.cpp`, `TestMain.h` and
`...\gtest\gtest.h` to this new filter folder (they were in the MFCGui
folder)
- Add new MergeTest solution filter to VS2015
Bill [Mon, 16 Jul 2018 23:13:08 +0000 (16:13 -0700)]
Attempt to fix the issue #100 - Part 2
- Commit
[
2f8e009](https://bitbucket.org/winmerge/winmerge/commits/
2f8e009c3f473ca0f6a639990d6307ed95d7694e)
checks for the existence of the `WinIMergeLib.dll` and abandons the
**ImageCompareTest.Open** test if the `.dll` cannot be loaded
correctly. This checking prevents the inappropriate (and seriously
misleading) SEH error later in the code; _**however**_ it allows the test to
Pass even when the `.dll` is not present.
This follow-on patch forces the test to Fail cleanly, with a
relevant message, when the `.dll` cannot be loaded correctly.
- Also, the handling of `EXPECT_NE(nullptr, pDoc)` in other tests is
improved to prevent SEH errors if `pDoc==nullptr` should ever become
true.
Takashi Sawanaka [Mon, 16 Jul 2018 17:23:37 +0000 (02:23 +0900)]
FilepathEdit.cpp: Copy all text when pressing Ctrl+C shortcut key while text is not selected
Takashi Sawanaka [Mon, 16 Jul 2018 10:29:58 +0000 (19:29 +0900)]
FilepathEdit.*: Enable Ctrl+C shortcut key
Takashi Sawanaka [Mon, 16 Jul 2018 07:23:21 +0000 (16:23 +0900)]
Merge
Takashi Sawanaka [Mon, 16 Jul 2018 07:22:38 +0000 (16:22 +0900)]
Attempt to fix the issue #100 (bitbucket)
Tim Gerundt [Tue, 10 Jul 2018 03:55:31 +0000 (05:55 +0200)]
Fix Charset meta tag from ShellExtension/Italian.po
Tim Gerundt [Tue, 10 Jul 2018 03:53:26 +0000 (05:53 +0200)]
Tweak output from GetTranslationsStatus.py
Tim Gerundt [Tue, 10 Jul 2018 03:47:31 +0000 (05:47 +0200)]
Use README.md in root directory
Takashi Sawanaka [Thu, 28 Jun 2018 15:22:10 +0000 (00:22 +0900)]
Merge pull request #90 from GreyMerlin/master
Improve Handling of Last Lines in Files, *Plus More*
GreyMerlin [Wed, 27 Jun 2018 18:23:43 +0000 (11:23 -0700)]
Fix problems with _countf() in newest VS 15.7.2 (2)
- See earlier commit [
76754ec1...]
(https://github.com/GreyMerlin/winmerge-v2/commit/
76754ec1f47042b8b857ad5082054033190788b8),
05/27/2018 "Fix problems with _countf() in newest VS 15.7.2"]
GreyMerlin [Tue, 26 Jun 2018 23:24:44 +0000 (16:24 -0700)]
Fix a few comments in procedure declarations
- Fixed (just a few) comments where the definition specifies and
initial value for a parameter, but the declaration has an incorrect or
missing comment.
GreyMerlin [Tue, 26 Jun 2018 14:54:46 +0000 (07:54 -0700)]
Removal of more "signed/unsigned mismatch" warnings
GreyMerlin [Tue, 26 Jun 2018 14:53:59 +0000 (07:53 -0700)]
Mark more masking constants as unsigned
GreyMerlin [Tue, 26 Jun 2018 14:22:32 +0000 (07:22 -0700)]
Merge branch 'master' of https://github.com/sdottaka/winmerge-v2
GreyMerlin [Tue, 26 Jun 2018 06:14:57 +0000 (23:14 -0700)]
Improve handling of last lines in files (6)
- Hex mask constants (#define and enum values) are now explicitly marked
as Unsigned.
GreyMerlin [Tue, 26 Jun 2018 01:27:21 +0000 (18:27 -0700)]
Improve handling of last lines in files (5)
- When using Copy Left (or Copy Right) on a block of line differences at
the _very_ end of both files, a fatal abort would occur when copying
lines into the shortest of the two end blocks.
- This fatal error would occur when deleting "ghost" lines at the end
of that shortest block, because the starting location of the "ghost"
lines was improperly calculated.
- There remains a non-fatal bug in that an extra EOL (and thus an
extra blank line) is added to the end of a Copy (Left or Right) when
that action is on the text block at the very end of the file.
- The Undo action (ctrl-Z) continues to function correctly for these
situations.
GreyMerlin [Mon, 25 Jun 2018 21:40:21 +0000 (14:40 -0700)]
Improve handling of last lines in files (4)
- Slightly improved boundary checking
GreyMerlin [Sat, 23 Jun 2018 22:45:57 +0000 (15:45 -0700)]
Improve handling of last lines in files (3)
Trivial textual cleanup ...
- Change `ASSERT(0)` to `ASSERT(false)`
- change `bFirstLineGhost` from `int` to `bool'
GreyMerlin [Sat, 23 Jun 2018 22:21:42 +0000 (15:21 -0700)]
Improve handling of last lines in files (2)
Optimization for `CGhostTextBuffer:: RemoveAllGhostLines()`
- Only compress `m_aLines[]` if there actually are ghost lines
- Only start compression at the first ghost line
GreyMerlin [Sat, 23 Jun 2018 22:02:19 +0000 (15:02 -0700)]
Improve handling of last lines in files (1)
- Simply tweaks to comments and debug code
- A few tiny optimizations
GreyMerlin [Sun, 17 Jun 2018 21:28:02 +0000 (14:28 -0700)]
Adopt newer GNU diffutils (2001-11-24, ver 2.7.3 ) (1)
* Remove unused files
* Remove some unused defines and functions
Takashi Sawanaka [Sun, 24 Jun 2018 14:01:55 +0000 (23:01 +0900)]
LocationView.*: Remove functions that are not called
Takashi Sawanaka [Sun, 24 Jun 2018 12:51:48 +0000 (21:51 +0900)]
Bump revision to 1.17.2.0
Takashi Sawanaka [Sun, 24 Jun 2018 06:39:19 +0000 (15:39 +0900)]
update frhed to 0.10904.2017.1
Takashi Sawanaka [Sun, 17 Jun 2018 13:04:16 +0000 (22:04 +0900)]
- Fix warning C6054: String '...' might not be zero-terminated.
- Fix warning C28183: '...' could be '0', and is a copy of the value found in '...'
- Fix warning C6387: warning C6387: <argument> may be <value>: this does not adhere to the specification for the function <function name>: Lines: x, y
Takashi Sawanaka [Sun, 17 Jun 2018 08:57:19 +0000 (17:57 +0900)]
Merge
Takashi Sawanaka [Sun, 17 Jun 2018 04:37:20 +0000 (13:37 +0900)]
Merge pull request #89 from GreyMerlin/master
Various, esp. Improve compare+display of last lines in files
GreyMerlin [Sun, 17 Jun 2018 00:19:44 +0000 (17:19 -0700)]
Improve Options > Color > Differences dialog layout
- Allow more room for the various lines of caption test by sliding the
various controls slightly to the right.
GreyMerlin [Sun, 17 Jun 2018 00:16:23 +0000 (17:16 -0700)]
Improve compare+display of last lines in files (2)
Symptom ...
An F5 Refresh could produce slightly different comparison results
(near the end of the file) when input files did not have explicit EOL
marking after the last line of the file.
Discussion ...
The original file compare window is generated directly from the
original files. However, subsequent F5 Refresh displays are
generated from temporary copies of the files that are made after they
are read for the first time; these temporary files would **never** have
EOL markings following the last line of the file - thus causing slightly
different output.
Solutions ...
When making internal temporary copies of the original input files,
a final EOL marking will be written to the temp file **if** the original
file had a final EOL.
GreyMerlin [Sun, 17 Jun 2018 00:11:17 +0000 (17:11 -0700)]
Improve compare+display of last lines in files (1)
Symptoms ...
ASSERT could occur (with Debug build), and possibly a fault could
occur with Release builds, if longest file was the Left File and that
file did not have an explicit EOL marking after the last line of the
file, and there were visible differences at the very end of the file.
Discussion ...
The internal `m_ptBuf[]->m_aLines[]` buffers could end up with
different numbers of line entries in situations where the last line of
a file had no explicit EOL marking. Normally, the two (or three)
`m_aLines[]` buffers would have "ghost" line entries to represent
"missing" lines, so that all `m_aLines[]` buffers would be of the same
length. The lack of a final EOL could confuse that logic. At some
points in the comparison logic, the length used for processing the two
(or three) buffers is determined simply by the length of `m_aLines[0]`
Solution ...
By the end of the `PrimeTextBuffers()` procedure, the two (or
three) `m_ptBuf[]->m_aLines[]` buffers will now **always** have the same
length. Furthermore, there will no longer be <null> entries at the end
of the `m_aLines[]` arrays. These will now be deleted (if **all**
`m_aLines[]` buffers have them), or they will be replaced with
appropriate "ghost" lines (if only **some** of the buffers have final
<null> entries)
Also, a number of comments are improved.
GreyMerlin [Sat, 16 Jun 2018 23:03:39 +0000 (16:03 -0700)]
Tweak "Fix alignment of the comboboxes in OpenDlg"
- adjusted by 1 pixel for even better visual alignment
GreyMerlin [Sat, 16 Jun 2018 22:59:35 +0000 (15:59 -0700)]
Adopt performance improvement from diffutils
- include [commit ...
414dc606](
http://git.savannah.gnu.org/cgit/diffutils.git/commit/?id=
68b82f6f8419a815cfcf962b3061352d414dc606)
from **diffutils** 2016-10-25 (ver 3.5)
- this commit improves the performance of the TOO_EXPENSIVE
optimization on "modern" processors (ca. 2016) by upgrading the minimum
threshold of this optimization from 255 to 4096.
GreyMerlin [Sat, 16 Jun 2018 22:49:08 +0000 (15:49 -0700)]
Improve interrelation with GNU diffutils source
- Remove four *.c files never used by diffutils or WinMerge
- Change `Src/CompareEngines/DiffUtils{.c|.h}` to be
`./Wrap_DiffUtils{.c|.h}` to remove confusion about the **diffutils**
name. These files are part of WinMerge, not GNU diffutils.
- Change Solution Explorer to have the entry **GNU diffutils** rather
than **DiffEngine**
- Copy solution changes from VS2017 to VS2015
Takashi Sawanaka [Sat, 16 Jun 2018 17:29:38 +0000 (02:29 +0900)]
Fix compilation errors on the Test configuration
Takashi Sawanaka [Sat, 16 Jun 2018 13:11:43 +0000 (22:11 +0900)]
Fix alignment of the comboboxes in OpenDlg. (github#88)
Takashi Sawanaka [Sat, 9 Jun 2018 14:51:05 +0000 (23:51 +0900)]
Add Window/Split menu item(2)
Takashi Sawanaka [Sat, 9 Jun 2018 13:54:30 +0000 (22:54 +0900)]
Add Window/Split menu item
Takashi Sawanaka [Sat, 9 Jun 2018 12:31:45 +0000 (21:31 +0900)]
Merge pull request #87 from GreyMerlin/master
Very Long Path and File Names (and more)
GreyMerlin [Tue, 5 Jun 2018 20:14:24 +0000 (13:14 -0700)]
Very Long Path and File Names (5)
GreyMerlin [Thu, 31 May 2018 20:58:29 +0000 (13:58 -0700)]
Very Long Path and File Names (4)
* Adapt changes from Poco/Foundation (1.9.1) related to this issue
* this is a "cleaner" solution than I had implemented, although only
for the Poco/Foundation parts of the code
GreyMerlin [Mon, 28 May 2018 20:40:30 +0000 (13:40 -0700)]
Very Long Path and File Names (3)
* Use the `\\?\`file name prefix for directory recursion and various
file open operations. This is available for almost all Win32 API
functions when using the "xxxW" Unicode procedures. This works for
both Win32 and X64 compilations. Microsoft documentation leads me to
believe that this works for WinXP and beyond (although I can only test
the Win10 X64 environment).
*The prefix is used even for path names that "appear" to be short,
because a long file name could be appended to any short path, making
the result become long.
* At this point, the basics (directory recursion, file comparison,
and opening&editing text files) have been tested and are properly
functional.
* Not Tested: Copy, Move, Rename, Remove of files and directories.
* Not Tested: projects, filters and plugins, XML, Excel.
* Not Implemented: Opening binary files (`frhed.dll`) or image files
(`WinIMerge.dll`)
* Not Implemented: Internal 7zip operations.
* Not Implemented: interactions with UNC (networking) file names.
* Not Implemented: interaction with `ShellExtension.dll`
GreyMerlin [Mon, 28 May 2018 05:44:01 +0000 (22:44 -0700)]
Very Long Path and File Names (2)
* First attempt to add "\\?\" as a prefix for all file names as they
are being presented to Windows API for file manipulation purposes
GreyMerlin [Sun, 27 May 2018 23:12:46 +0000 (16:12 -0700)]
Very Long Path and File Names (1)
* define MAX_PATH_FULL as 32767. Use this to replace many instances of
MAX_PATH and _MAX_PATH
GreyMerlin [Thu, 7 Jun 2018 20:42:48 +0000 (13:42 -0700)]
Three Trivial Changes
- Remove the **poco** `_CHANGELOG` file. It is only for Apple
environments, and has been removed from **poco** version 1.9.1 (sometime
after version 1.4).
- Tweak two comments in `WinMergeShell.cpp`
- Remove an unused procedure declaration from `WinMergeShell.h`. There
is no corresponding procedure definition.
GreyMerlin [Thu, 7 Jun 2018 20:25:54 +0000 (13:25 -0700)]
Prevent faults when mousing over Plugin Settings
* With a Debug build, an assert() would occur when mousing over the
Plugin Settings context menu item if Plugins are disabled.
* With a Release build, a fault could occur in the same conditions.
GreyMerlin [Thu, 7 Jun 2018 20:20:25 +0000 (13:20 -0700)]
Remove new compilation error with VS2015
* VS2015 must have tightened up a rule for templates. This always used
to compile.
* now compiles correctly with both VS2015 and VS2017
GreyMerlin [Mon, 28 May 2018 06:52:45 +0000 (23:52 -0700)]
Hide unused Poco/Foundation files from Intellisense
* Use `#if 0` ... `#endif` to force various UNIX, VMS, WINCE and
non-Unicode WIN32 files to show as non-compiled code.
* there are more files that could be marked this way, but these are in
the File System implementation
GreyMerlin [Sun, 27 May 2018 22:51:41 +0000 (15:51 -0700)]
Fix problems with _countf() in newest VS 15.7.2
The `vcruntime.h` version of `_countf()` gives syntax errors starting
with VS 15.7.2, but only with `CCrystalTextView::m_SourceDefs` (which is
local to this .cpp file), and only for X64 compilations (Win32 is
ok, probably because no alignment issues are involved). I think
that this could be related to C++17 compliance issues. This patch
reverts to a 'traditional' definition of `_countf()`, a pre-existing
part of the CCrystalTextView package.
GreyMerlin [Sun, 27 May 2018 22:48:22 +0000 (15:48 -0700)]
Adapt boost to latest VS compiler version
Takashi Sawanaka [Sun, 6 May 2018 15:08:47 +0000 (00:08 +0900)]
Merge
Takashi Sawanaka [Sun, 6 May 2018 11:37:27 +0000 (20:37 +0900)]
DiffTextBuffer.cpp: Fix crash when pressing Alt+Down key while loading large files (Revert part of GitHub #82)
Takashi Sawanaka [Sun, 6 May 2018 10:57:48 +0000 (19:57 +0900)]
DirDoc.cpp: Fix crash when Settings/ActivePane == -1
Takashi Sawanaka [Sun, 6 May 2018 10:28:25 +0000 (19:28 +0900)]
MergeDoc.*: Add ForEachView() and Remove GetActiveMergeViewIndexType()
Takashi Sawanaka [Sun, 6 May 2018 02:39:16 +0000 (11:39 +0900)]
MergeDoc.cpp: Fix crash when saving file if the active pane is diff detail pane
Rukoto Luther [Thu, 3 May 2018 02:55:54 +0000 (11:55 +0900)]
Improvements Japanese
Takashi Sawanaka [Wed, 2 May 2018 17:27:51 +0000 (02:27 +0900)]
FileOrFolderSelect.*: Move the position of frequently used optional arguments forward
Takashi Sawanaka [Wed, 2 May 2018 13:56:20 +0000 (22:56 +0900)]
- OpenView.cpp: Display 'Open' instead of 'Save As' in the title of Open dialog when selecting Load Project menu item
- Make the pane active when clicking on the header bar
- Merge with rev.9409
Takashi Sawanaka [Mon, 30 Apr 2018 15:43:25 +0000 (00:43 +0900)]
Merge pull request #86 from Luigi-C/patch-1
Update Italian.po
Luigi-C [Mon, 30 Apr 2018 15:17:21 +0000 (17:17 +0200)]
Update Italian.po
The correct italian word for the english "Yes" is "Si", where the "i" is not accented.
Takashi Sawanaka [Sun, 29 Apr 2018 12:36:18 +0000 (21:36 +0900)]
FilepathEdit.cpp: Fix incorrect function declaration
Takashi Sawanaka [Sun, 29 Apr 2018 12:26:13 +0000 (21:26 +0900)]
OptionsMgr.h: Fix mixed-eol
Takashi Sawanaka [Sat, 28 Apr 2018 22:40:36 +0000 (07:40 +0900)]
Added tag 2.15.4 for changeset
7d1863b8c686
Takashi Sawanaka [Fri, 27 Apr 2018 14:06:13 +0000 (23:06 +0900)]
Bump revision to 2.15.4
Takashi Sawanaka [Thu, 26 Apr 2018 15:01:45 +0000 (00:01 +0900)]
Update release notes and changelog for 2.15.4
Takashi Sawanaka [Thu, 26 Apr 2018 15:00:32 +0000 (00:00 +0900)]
Allow short key name in -config command line option
Takashi Sawanaka [Thu, 26 Apr 2018 12:35:45 +0000 (21:35 +0900)]
Merge.cpp: Remove unused struct definition
Takashi Sawanaka [Thu, 26 Apr 2018 11:30:27 +0000 (20:30 +0900)]
Remove unused forward declaration class
Takashi Sawanaka [Thu, 26 Apr 2018 11:20:35 +0000 (20:20 +0900)]
DiffTextBuffer.h: Fix typo
Takashi Sawanaka [Thu, 26 Apr 2018 11:06:16 +0000 (20:06 +0900)]
Merge2.rc: Make Class Wizard work again
Takashi Sawanaka [Thu, 26 Apr 2018 11:03:23 +0000 (20:03 +0900)]
Merge.cpp: cleanup
Takashi Sawanaka [Thu, 26 Apr 2018 11:02:52 +0000 (20:02 +0900)]
DirView.*: Remove unused functions
Takashi Sawanaka [Thu, 26 Apr 2018 11:02:15 +0000 (20:02 +0900)]
resource.h: Remove unused resource symbols
Takashi Sawanaka [Sun, 22 Apr 2018 06:04:56 +0000 (15:04 +0900)]
MergeDoc.*: Mark ignored lines by Prediffer plugin as Trivial
Takashi Sawanaka [Sun, 22 Apr 2018 05:59:30 +0000 (14:59 +0900)]
Installer: Add PrediffLineFilter.sct plugin
Takashi Sawanaka [Sun, 22 Apr 2018 05:50:29 +0000 (14:50 +0900)]
PrediffLineFilter.sct: Add Ignore Case option to settings dialog
Takashi Sawanaka [Sat, 21 Apr 2018 15:01:28 +0000 (00:01 +0900)]
GhostTextBuffer.cpp: Fixed a problem that line without EOL exists even though it is not the last line
Takashi Sawanaka [Sat, 21 Apr 2018 13:37:53 +0000 (22:37 +0900)]
GhostTextBuffer.cpp: Avoid assertion failure when deleting ghost lines
Takashi Sawanaka [Sat, 21 Apr 2018 12:25:24 +0000 (21:25 +0900)]
Merge pull request #85 from Lippe35/master
Add missing translation Portuguese
Lippe35 [Sat, 21 Apr 2018 08:19:45 +0000 (09:19 +0100)]
Add missing translation Portuguese
Takashi Sawanaka [Mon, 16 Apr 2018 21:57:04 +0000 (06:57 +0900)]
Merge pull request #84 from Lippe35/master
Improvements Portuguese
Lippe35 [Mon, 16 Apr 2018 08:30:59 +0000 (09:30 +0100)]
Improvements Portuguese
Takashi Sawanaka [Sun, 15 Apr 2018 13:46:21 +0000 (22:46 +0900)]
Fix crash when removing ghost lines. I hope this fixes the issue #80 (GitHub)
Takashi Sawanaka [Sun, 8 Apr 2018 15:45:29 +0000 (00:45 +0900)]
Add PrediffLineFilter.sct
Takashi Sawanaka [Mon, 2 Apr 2018 14:56:02 +0000 (23:56 +0900)]
Merge pull request #82 from GreyMerlin/master
Two patches related to reading large files (i.e. > 2GB)
GreyMerlin [Mon, 2 Apr 2018 01:31:41 +0000 (18:31 -0700)]
Improve reading of files > 2GB (3)
* This is just the "next" in a series of patches to allow WinMerge to
properly handle very large ( i.e. > 2GB) files.
* This is a "kludge" patch allow for a responsive UI while reading
large files. After every input line is read and processed,
`::PeekMessage()` and `PumpMessage()` are called to allow the UI to
process messages.
* A much more robust solution would involve running
`CMergeDoc::LoadOneFile()` to run on threads that are independant of
the UI. This patch could then be easily removed.
* This patch also removes a useless label and `goto`,
* **Important Note** ... The reading and display of large
files remains seriously slow (with a completely non-responsive
WinMerge window for much of the time). Simple vertical scrolling
seems reasonably responsive. However ... any manipulation of the
"shape" or "z-order" of panes within the WinMerge window consumes
**seriously** more elapsed time while the Vertical Scroll Bar is being
tediously re-calculated. For this and other reasons ... I don't
consider large files to be very useful yet.
GreyMerlin [Mon, 2 Apr 2018 01:09:46 +0000 (18:09 -0700)]
Improve reading of files > 2GB (2)
* This is just the "next" in a series of patches to allow WinMerge to
properly handle very large ( i.e. > 2GB) files; although all of the
problems noted and fixed here can also be exhibited with files
somewhat smaller than that 2GB size.
* The main improvement here is to notice "lines" longer than 2^16 chars
and forcefully truncate them. For binary-like text files, long runs of
'\x00' and '\xff' characters are tolerated for lines containing up to
2^18 characters.
* This greatly improves the performance of the display and scrolling of
"binary-like" files (files whose extension does not match the **Binary
File Pattern**).
* Note too that the function `MultiByteToWideChar()` can only handle
output lines up to INT_MAX characters (thus, input lines up to
INT_MAX/2 characters).
* I've dropped in a few `// TODO` comments to looping situations that
are particularly slow and should be re-designed with very long files in
mind.
* **Important Note** ... The reading and display of large
files remains seriously slow (with a completely non-responsive
WinMerge window for much of the time). Simple vertical scrolling
seems reasonably responsive. However ... any manipulation of the
"shape" or "z-order" of panes within the WinMerge window consumes
**seriously** more elapsed time while the Vertical Scroll Bar is being
tediously re-calculated. For this and other reasons ... I don't
consider large files to be very useful yet.
Takashi Sawanaka [Sun, 1 Apr 2018 15:15:34 +0000 (00:15 +0900)]
Fix the problem that dot icon in a drop-down menu is not drawn correctly
Takashi Sawanaka [Sun, 1 Apr 2018 14:49:32 +0000 (23:49 +0900)]
OpenView.*: Merge with ProjectFilePathDlg and remove ProjectFilePathDlg. Add Options button to OpenView
Takashi Sawanaka [Wed, 28 Mar 2018 14:27:30 +0000 (23:27 +0900)]
Merge pull request #81 from GreyMerlin/master
Improve reading of files > 2GB (1)
GreyMerlin [Tue, 27 Mar 2018 19:16:02 +0000 (12:16 -0700)]
Improve reading of files > 2GB
* Now that commit #
4e4e46c has allowed files larger than 2GB, there are
number of places in WinMerge that are not prepared to handle files that
large. These will have to be discovered by "trial and error". These
are the first two problems encountered ...
* This patch repairs two places that `assert`with long file lengths.
* It should be noted that Windows can only read/write in chunks of up to
2GB. The code around lines 227 to 232 is part of a loop that is
capable of reading very large files, and now has the correct setup code
to limit the size of each successive read.
* The `assert` at line 911 is completely unnecessary for both 32- and
64-bit builds.
Takashi Sawanaka [Mon, 26 Mar 2018 13:30:50 +0000 (22:30 +0900)]
SharedMemory_WIN32.cpp: Avoid access violation when mapping a file on Google Drive File Stream to memory(2). (sf.net#2206)
the previous fix did not work on release build
Takashi Sawanaka [Sun, 25 Mar 2018 13:54:02 +0000 (22:54 +0900)]
UniFile.cpp: Remove 2GB file size limit for 64-bit build
Takashi Sawanaka [Sun, 25 Mar 2018 06:14:48 +0000 (15:14 +0900)]
SharedMemory_WIN32.cpp: Avoid access violation when mapping a file on Google Drive File Stream to memory. (sf.net#2206)
Takashi Sawanaka [Mon, 19 Mar 2018 14:18:58 +0000 (23:18 +0900)]
DirCmpReport.cpp: Fix an issue where garbled text was copied to the clipboard when generating a report on the clipboard. (sf.net#2200)
Takashi Sawanaka [Sun, 18 Mar 2018 21:39:02 +0000 (06:39 +0900)]
Merge pull request #79 from GreyMerlin/master
Version issues plus Adapt to VS2017 15.6.1 changes
GreyMerlin [Sun, 18 Mar 2018 18:34:39 +0000 (11:34 -0700)]
Simplify version.h file name confusions
Problem ...
* there were two, very different, `version.h` files ...
`.\version.h` which simply contains current version defines
`.\Src\Common\Version.h` which declares the `CVersionInfo` class
implemented in the `\Src\Common\Version.cpp` file.
* The files `.\version.h` and `.\Src\res\Merge2.rc` are not visible in
the Solution Explorer tree.
Solution ...
* I have changed `.\Src\Common\Version.*` to be
`.\Src\Common\VersionInfo.*`. This also follows more typical file
naming norms.
* I have moved these new `VersionInfo.*` files from the **Header Files**
section of the Solution Explorer, into the **MFCGui/Common** section
* I have added the `.\version.h`file into the **Header Files** section,
so that it becomes a visible part of the project. I have **not**
modified the name or purpose of this file because it is generated by
`BuildBin.vs2017.cmd` during the release build process.
* I have added the `.\Src\res\Merge2.rc` to the **Resource Files**
section of the Solution Explorer (so that it becomes visible to the
project). I have marked that file as "Excluded From Build" (in all
build configurations) because it is directly included from the
`.\Src\res\Merge.rc2`file.
* I have made these changes for both VS2015 and VS2017 projects.