* Change Field passing type of FreeLocalVerbosity parameter

to by value to avoid passing an unaligned pointer.
  * Adapt code calling FreeLocalVerbosity  to reset
    currrent_settings.pmessage to nil afterwards.

git-svn-id: trunk@18978 -
This commit is contained in:
pierre 2011-09-05 12:52:37 +00:00
parent 50067bf42a
commit 713f269ce2
2 changed files with 4 additions and 3 deletions

View File

@ -522,6 +522,7 @@ implementation
set_current_module(olddata^.old_current_module);
FreeLocalVerbosity(current_settings.pmessage);
current_settings.pmessage:=nil;
dispose(olddata);
end;

View File

@ -82,7 +82,7 @@ interface
function CheckVerbosity(v:longint):boolean;
function SetMessageVerbosity(v:longint;state:tmsgstate):boolean;
procedure RestoreLocalVerbosity(pstate : pmessagestaterecord);
procedure FreeLocalVerbosity(var fstate : pmessagestaterecord);
procedure FreeLocalVerbosity(fstate : pmessagestaterecord);
function ChangeMessageVerbosity(s: string; var i: integer;state:tmsgstate): boolean;
procedure ShowStatus;
@ -191,7 +191,7 @@ implementation
end;
end;
procedure FreeLocalVerbosity(var fstate : pmessagestaterecord);
procedure FreeLocalVerbosity(fstate : pmessagestaterecord);
var pstate : pmessagestaterecord;
begin
pstate:=fstate;
@ -199,7 +199,7 @@ implementation
begin
fstate:=pstate^.next;
freemem(pstate);
pstate:=fstate;
pstate:=unaligned(fstate);
end;
end;