problem was that decompression ended prematurely. instead of waiting for zlib to return Z_STREAM_END, it checked if no more output was required. this could cause a case where zlib wouldn't read its entire stream. in this particular case, the compressed headers were 0x4001 bytes long and compressed data input buffer size is only 0x4000. instead of waiting for another run of inflate() to read the last byte, which is probably eof, _dodecmop() broke the loop and didn't read that extra byte. since loadHeaders() relays on _dodecomp() to read the entire header so it can calculate where the data block begins, all reads from the data block suddenly became off by one, causing "decompression errors".
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5557 212acab6-be3b-0410-9dea-997c60f758d6
this could cause synchronization issues when data is decompressed in a page's leave function and the user clicks the next button twice really fast or on a slow computer.
WM_COMMAND would be sent twice and so DialogProc could execute the leave function while the installation thread is running causing interpreter havoc.
for more details:
http://forums.winamp.com/showthread.php?s=&threadid=274333
as always, a few size optimizations were thrown in the loop and the fix actually makes the code smaller
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5313 212acab6-be3b-0410-9dea-997c60f758d6
* Added license and copyright notice to every source file
* The new COPYING file and license section in the Users Manual list the terms of all relevant licenses
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4787 212acab6-be3b-0410-9dea-997c60f758d6
The hanging disappeared along with the removal of the threaded lzma decoder, but the cause stayed. When the user specified /NCRC on the command line, loadHeaders reported the compressed data size to be 4 bytes larger than it really is. Instead of checking the header flags, it checked the combined flags (command line and header), concluded CRC checksum is disabled and therefore didn't subtract the 4 bytes of the CRC checksum from the compressed data size.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3613 212acab6-be3b-0410-9dea-997c60f758d6
- Added SetCompressorDictSize (only works for LZMA)
- Added SetCompressionLevel (only "works" for zlib and bzip2) - doesn't work for now
- Section is only supposed to get 4 parameters if /o is specified
- Updated version numbers
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3190 212acab6-be3b-0410-9dea-997c60f758d6
- Finnish language files updated
- made SetStlColors able to set background color with /BRANDING
- some optimizations
- fixed progress showing for WriteUninstaller
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2870 212acab6-be3b-0410-9dea-997c60f758d6
* DirVar - easy way to add another dir page
* default strings in the language file (Page directory is enough, no need for DirText)
* strings from the language file are now LangStrings that can be used in the script
* no more /LANG - one string for all languages
* any lang strings can be used everywhere, installer or uninstaller (no un.)
* no more unprocessed strings - variables can be used almost everywhere (except in licenseData and InstallDirRegKey)
* DirText parm for browse dialog text
* SetBkColor -> SetCtlColors - can now set text color too
* fixed SetOutPath and File /r bug
* fixed File /a /oname bug
* added $_CLICK for pages
* added quotes support in lang files (patch #752620)
* extraction progress
* separate RTL dialogs for RTL langs (improved RTL too)
* InstallOptions RTL
* StartMenu RTL
* fixed RegDLL?
* added IfSilent and SetSilent (SetSilent only works from .onInit)
* fixed verify window (it never showed) (bug #792494)
* fixed ifnewer readonly file problem (patch #783782)
* fixed wininit.ini manipulation when there is another section after [rename]
* fixed some ClearType issues
* fixed a minor bug in the resource editor
* fixed !ifdef/!endif stuff, rewritten
* lots of code and comments clean ups
* got rid of some useless exceptions handling and STL classes (still much more to go)
* lots of optimizations, of course ;)
* updated system.dll with support for GUID, WCHAR, and fast VTable calling (i.e. COM ready)
* minor bug fixes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2823 212acab6-be3b-0410-9dea-997c60f758d6
- Command line switches work again (/NCRC and /S)
- GetTempFileName now takes another argument as base directory (default is $TEMP)
- Message boxes work from .onGUIEnd
- Some more optimizations
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2739 212acab6-be3b-0410-9dea-997c60f758d6
+ Some documentation fixes
+ Transition between a normal page and a custom page no longer causes a flicker (between two custom pages it still does)
+ The completed sub-caption shows again
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1853 212acab6-be3b-0410-9dea-997c60f758d6