From 2d5cdfa87db2d4db7deed7ac544c74981889af0b Mon Sep 17 00:00:00 2001
From: Jeffrey Lee <jlee@gitlab.riscosopen.org>
Date: Tue, 28 Aug 2012 20:50:59 +0000
Subject: [PATCH] Fix "Task not known" error masking real error message in some
 situations

Detail:
  c/armsys - _desktop_report now always caches the error message in the local error block. This avoids the error potentially being overwritten with "Task not known" if TaskManager_TaskNameFromHandle fails.
Admin:
  Tested on Raspberry Pi


Version 5.72. Tagged as 'RISC_OSLib-5_72'
---
 VersionASM | 12 ++++++------
 VersionNum | 20 ++++++++++----------
 c/armsys   |  5 ++---
 3 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/VersionASM b/VersionASM
index 801ff49..46775e0 100644
--- a/VersionASM
+++ b/VersionASM
@@ -11,13 +11,13 @@
                         GBLS    Module_HelpVersion
                         GBLS    Module_ComponentName
                         GBLS    Module_ComponentPath
-Module_MajorVersion     SETS    "5.71"
-Module_Version          SETA    571
+Module_MajorVersion     SETS    "5.72"
+Module_Version          SETA    572
 Module_MinorVersion     SETS    ""
-Module_Date             SETS    "15 Aug 2012"
-Module_ApplicationDate  SETS    "15-Aug-12"
+Module_Date             SETS    "28 Aug 2012"
+Module_ApplicationDate  SETS    "28-Aug-12"
 Module_ComponentName    SETS    "RISC_OSLib"
 Module_ComponentPath    SETS    "castle/RiscOS/Sources/Lib/RISC_OSLib"
-Module_FullVersion      SETS    "5.71"
-Module_HelpVersion      SETS    "5.71 (15 Aug 2012)"
+Module_FullVersion      SETS    "5.72"
+Module_HelpVersion      SETS    "5.72 (28 Aug 2012)"
                         END
diff --git a/VersionNum b/VersionNum
index 6c67442..5e15c3b 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,23 +1,23 @@
-/* (5.71)
+/* (5.72)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  * Last processed by srccommit version: 1.1.
  *
  */
-#define Module_MajorVersion_CMHG        5.71
+#define Module_MajorVersion_CMHG        5.72
 #define Module_MinorVersion_CMHG        
-#define Module_Date_CMHG                15 Aug 2012
+#define Module_Date_CMHG                28 Aug 2012
 
-#define Module_MajorVersion             "5.71"
-#define Module_Version                  571
+#define Module_MajorVersion             "5.72"
+#define Module_Version                  572
 #define Module_MinorVersion             ""
-#define Module_Date                     "15 Aug 2012"
+#define Module_Date                     "28 Aug 2012"
 
-#define Module_ApplicationDate          "15-Aug-12"
+#define Module_ApplicationDate          "28-Aug-12"
 
 #define Module_ComponentName            "RISC_OSLib"
 #define Module_ComponentPath            "castle/RiscOS/Sources/Lib/RISC_OSLib"
 
-#define Module_FullVersion              "5.71"
-#define Module_HelpVersion              "5.71 (15 Aug 2012)"
-#define Module_LibraryVersionInfo       "5:71"
+#define Module_FullVersion              "5.72"
+#define Module_HelpVersion              "5.72 (28 Aug 2012)"
+#define Module_LibraryVersionInfo       "5:72"
diff --git a/c/armsys b/c/armsys
index 9662c0a..2c20360 100644
--- a/c/armsys
+++ b/c/armsys
@@ -176,6 +176,7 @@ static int _desktop_report(const char *s, const char *but)
     if ((e = _kernel_last_oserror()) != NULL && s == e->errmess)
     {
         flags |= 2 << 9;
+        err = *e;
     }
     else
     {
@@ -200,15 +201,13 @@ static int _desktop_report(const char *s, const char *but)
 
         *p = '\0';
         err.errmess[0] = toupper(err.errmess[0]);
-
-        e = &err;
     }
     r.r[0] = h;
     if (_kernel_swi(TaskManager_TaskNameFromHandle, &r, &r) == 0)
         r.r[2] = r.r[0];
     else
         r.r[2] = 0;
-    r.r[0] = (int) e;
+    r.r[0] = (int) &err;
     r.r[1] = flags;
     r.r[3] = 0;
     r.r[4] = 1;
-- 
GitLab