mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 01:29:21 +02:00
* save original widestring manager on entry and restore it on exit, so that
units finalized afterwards won't try to use the finalized cwstring manager (mantis #26252) git-svn-id: trunk@27842 -
This commit is contained in:
parent
a52d8abe38
commit
bee20f79f0
@ -1029,11 +1029,15 @@ begin
|
||||
end;
|
||||
{$endif FPC_HAS_CPSTRING}
|
||||
|
||||
var
|
||||
OrgWideStringManager: TUnicodeStringManager;
|
||||
|
||||
Procedure SetCWideStringManager;
|
||||
Var
|
||||
CWideStringManager : TUnicodeStringManager;
|
||||
begin
|
||||
CWideStringManager:=widestringmanager;
|
||||
GetUnicodeStringManager(OrgWideStringManager);
|
||||
CWideStringManager:=OrgWideStringManager;
|
||||
With CWideStringManager do
|
||||
begin
|
||||
Wide2AnsiMoveProc:=@Wide2AnsiMove;
|
||||
@ -1106,4 +1110,7 @@ finalization
|
||||
{ unload iconv library }
|
||||
if iconvlib<>0 then
|
||||
FreeLibrary(iconvlib);
|
||||
{ restore previous (probably default) widestring manager so that subsequent calls
|
||||
into the widestring manager won't trigger the finalized functionality }
|
||||
SetWideStringManager(OrgWideStringManager);
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user