Lazbuild crashes if current drive letter is lowercase
Original Reporter info from Mantis: cobines
-
Reporter name:
Original Reporter info from Mantis: cobines
- Reporter name:
Description:
When current directory starts with lowercase drive letter lazbuild crashes. The project that is to be built must use resources.
Here is backtrace:
An unhandled exception occurred at $006DF7EF :
EAccessViolation : Access violation
$006DF7EF EXTENSIONTOLAZSYNTAXHIGHLIGHTER, line 1288 of editoroptions.pp
$006DFA88 FILENAMETOLAZSYNTAXHIGHLIGHTER, line 1322 of editoroptions.pp
$004C530E TUNITINFO__SETINTERNALFILENAME, line 1873 of project.pp
$004C5CFA TUNITINFO__SETSOURCE, line 2276 of project.pp
$004EEF68 TBUILDMANAGER__GETRESOURCETYPE, line 1189 of buildmanager.pas
$004EF5B4 TBUILDMANAGER__UPDATEPROJECTAUTOMATICFILES, line 1274 of buildmanager.pas
$004036DE TLAZBUILDAPPLICATION__BUILDPROJECT, line 669 of lazbuild.lpr
$00402390 TLAZBUILDAPPLICATION__BUILDFILE, line 295 of lazbuild.lpr
$00404DE8 TLAZBUILDAPPLICATION__RUN, line 1039 of lazbuild.lpr
$00406671 main, line 1273 of lazbuild.lpr
Accessed EditorOpts is nil in this case.
I uncommented a debugging code and it says:
TUnitInfo.SetInternalFilename Old=f:\trash\unit1.pas New=F:\trash\Unit1.pas
The difference is only the case of the drive letter.
Steps to reproduce:
You cannot set lowercase drive letter through CMD.exe but it can be done by using WINAPI. So I can only reproduce this using a helper program.
You have to edit the "lowtest.pas" and change "f:\trash" to some path on your system, but use lowercase. Put attached sample "project1" into that directory. Lazbuild should be in PATH environment variable. Compile "lowtest.pas" and run.
Mantis conversion info:
- Mantis ID: 17901
- OS: XP
- OS Build: SP3 32bit
- Build: 28178
- Platform: Windows
- Version: 0.9.29 (SVN)
- Fixed in revision: 28180 (#a406dd66)