View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001955 | JEDI VCL | 00 JVCL Components | public | 2004-07-10 16:04 | 2004-07-11 05:11 |
| Reporter | SHC | Assigned To | AHUser | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | |||||
| Target Version | Fixed in Version | ||||
| Summary | 0001955: JvGnugettext.pas - Fix AV when use DebugLogToFile. | ||||
| Description | Fix AV when use DebugLogToFile with DXGETTEXTDEBUG is not set. Also fix chr() to WideChar() in utf8decode. Important for characters above 255. | ||||
| Tags | No tags attached. | ||||
|
2004-07-10 16:04
|
patch.diff (1,710 bytes)
diff -pr F:\Comps\jvcl\common\JvGnugettext.pas common\JvGnugettext.pas
*** F:\Comps\jvcl\common\JvGnugettext.pas Tue Jun 15 17:32:42 2004
--- common\JvGnugettext.pas Sun Jul 11 02:59:04 2004
*************** begin
*** 601,607 ****
if mode = 0 then
begin
if c <= $FFFF then
! Result := Result + Chr(c)
else
begin
if dummychar = #0 then
--- 601,607 ----
if mode = 0 then
begin
if c <= $FFFF then
! Result := Result + WideChar(c)
else
begin
if dummychar = #0 then
*************** begin
*** 2583,2597 ****
begin
marker := sLineBreak +
'===========================================================================' + sLineBreak;
! fs.WriteBuffer(marker[1], Length(marker));
! end;
! // Copy the memorystream contents to the file
! DebugLog.Seek(0, soFromBeginning);
! fs.CopyFrom(DebugLog, 0);
! // Make DebugLog point to the filestream
! FreeAndNil(DebugLog);
DebugLog := fs;
end;
--- 2583,2600 ----
begin
marker := sLineBreak +
'===========================================================================' + sLineBreak;
! fs.WriteBuffer(marker[1], Length(marker));
! end;
! if DebugLog <> nil then
! begin
! // Copy the memorystream contents to the file
! DebugLog.Seek(0, soFromBeginning);
! fs.CopyFrom(DebugLog, 0);
! // Make DebugLog point to the filestream
! FreeAndNil(DebugLog);
! end;
DebugLog := fs;
end;
|
|
|
Thanks. Fixed in CVS. |