Browse Source

* 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 years ago
parent
commit
5d43ce99cd
1 changed files with 9 additions and 3 deletions
  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