소스 검색

* show a persistent message "debugger error" in the register windows in case
there's an error retrieving the register values. Previously, the message would
appear, but subsequent window redraws would show invalid register values
instead of the message.

git-svn-id: trunk@30135 -

nickysn 10 년 전
부모
커밋
5d43ce99cd
1개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  1. 9 3
      ide/fpregs.pas

+ 9 - 3
ide/fpregs.pas

@@ -81,6 +81,7 @@ uses
       InDraw : boolean;
       InDraw : boolean;
       GDBCount : longint;
       GDBCount : longint;
       first : boolean;
       first : boolean;
+      LastOK : boolean;
       constructor Init(var Bounds: TRect);
       constructor Init(var Bounds: TRect);
       procedure   Draw;virtual;
       procedure   Draw;virtual;
       destructor  Done; virtual;
       destructor  Done; virtual;
@@ -128,6 +129,7 @@ uses
       UseInfoFloat : boolean;
       UseInfoFloat : boolean;
 {$endif not cpu_known}
 {$endif not cpu_known}
       first : boolean;
       first : boolean;
+      LastOK : boolean;
       constructor Init(var Bounds: TRect);
       constructor Init(var Bounds: TRect);
       procedure   Draw;virtual;
       procedure   Draw;virtual;
       destructor  Done; virtual;
       destructor  Done; virtual;
@@ -189,6 +191,7 @@ uses
       UseInfoVector : boolean;
       UseInfoVector : boolean;
 {$endif not cpu_known}
 {$endif not cpu_known}
       first : boolean;
       first : boolean;
+      LastOK : boolean;
       constructor Init(var Bounds: TRect);
       constructor Init(var Bounds: TRect);
       procedure   Draw;virtual;
       procedure   Draw;virtual;
       destructor  Done; virtual;
       destructor  Done; virtual;
@@ -507,6 +510,7 @@ const
          begin
          begin
            OldReg:=NewReg;
            OldReg:=NewReg;
            OK:=GetIntRegs(rs);
            OK:=GetIntRegs(rs);
+           LastOK:=OK;
            NewReg:=rs;
            NewReg:=rs;
            { get inital values }
            { get inital values }
            if first then
            if first then
@@ -519,7 +523,7 @@ const
        else
        else
          begin
          begin
            rs:=NewReg;
            rs:=NewReg;
-           OK:=true;
+           OK:=LastOK;
          end;
          end;
        if  OK then
        if  OK then
          begin
          begin
@@ -1076,6 +1080,7 @@ const
              ,UseInfoFloat
              ,UseInfoFloat
 {$endif not cpu_known}
 {$endif not cpu_known}
              );
              );
+           LastOK:=OK;
            NewReg:=rs;
            NewReg:=rs;
            { get inital values }
            { get inital values }
            if first then
            if first then
@@ -1088,7 +1093,7 @@ const
        else
        else
          begin
          begin
            rs:=newreg;
            rs:=newreg;
-           OK:=true;
+           OK:=LastOK;
          end;
          end;
        if OK then
        if OK then
          begin
          begin
@@ -1460,6 +1465,7 @@ const
              ,UseInfoVector
              ,UseInfoVector
 {$endif not cpu_known}
 {$endif not cpu_known}
              );
              );
+           LastOK:=OK;
            NewReg:=rs;
            NewReg:=rs;
            { get inital values }
            { get inital values }
            if first then
            if first then
@@ -1472,7 +1478,7 @@ const
        else
        else
          begin
          begin
            rs:=newreg;
            rs:=newreg;
-           OK:=true;
+           OK:=LastOK;
          end;
          end;
        if OK then
        if OK then
          begin
          begin