mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-11 20:29:14 +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;
|
end;
|
||||||
{$endif FPC_HAS_CPSTRING}
|
{$endif FPC_HAS_CPSTRING}
|
||||||
|
|
||||||
|
var
|
||||||
|
OrgWideStringManager: TUnicodeStringManager;
|
||||||
|
|
||||||
Procedure SetCWideStringManager;
|
Procedure SetCWideStringManager;
|
||||||
Var
|
Var
|
||||||
CWideStringManager : TUnicodeStringManager;
|
CWideStringManager : TUnicodeStringManager;
|
||||||
begin
|
begin
|
||||||
CWideStringManager:=widestringmanager;
|
GetUnicodeStringManager(OrgWideStringManager);
|
||||||
|
CWideStringManager:=OrgWideStringManager;
|
||||||
With CWideStringManager do
|
With CWideStringManager do
|
||||||
begin
|
begin
|
||||||
Wide2AnsiMoveProc:=@Wide2AnsiMove;
|
Wide2AnsiMoveProc:=@Wide2AnsiMove;
|
||||||
@ -1106,4 +1110,7 @@ finalization
|
|||||||
{ unload iconv library }
|
{ unload iconv library }
|
||||||
if iconvlib<>0 then
|
if iconvlib<>0 then
|
||||||
FreeLibrary(iconvlib);
|
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.
|
end.
|
||||||
|
Loading…
Reference in New Issue
Block a user