From 72ca8dd8f634c7254e56b82d294da0833db83f97 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@gitlab.riscosopen.org>
Date: Mon, 22 Nov 1999 12:09:24 +0000
Subject: [PATCH] Rendering problems with Lazarus title bars and error box
 buttons fixed.

Detail:
  Title bars: one of the Ursula redraw optimisations was that if the title
  bar sprites had no mask, then the title bar is no longer filled in before the
  sprites are plotted. Lazarus' toolsprites were falling foul of this, because
  the title bar top and bottom sprites (tbarmidt/tbarmidb) had a lesser height
  than the end sprites (tbarlcap/tbarrcap). Because pre-Ursula Wimps filled
  in the title bar regardless, this may not have shown up in the past. The Wimp
  now has an additional check: if there is a gap between the title bar sprites,
  then it always fills in the title bar background before plotting the sprites.

  Error box buttons: the "illuminated" side of the 3D plinths have always been
  white, so they were getting lost against the white Lazarus UI background.
  Used Ursula Wimp icon colour validation string extension to colour the
  borders a uniform grey.

Admin:
  Tested on a desktop machine, soft-loading the Lazarus Wimp resources.
  Fixes faults 1115 and 1121.

Version 4.35. Tagged as 'Wimp-4_35'
---
 Resources/UK/Lazarus/Templates,fec | Bin 1422 -> 1424 bytes
 VersionASM                         |   8 ++++----
 VersionNum                         |  14 +++++++-------
 s/Wimp10                           |  16 ++++++++++++++++
 4 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/Resources/UK/Lazarus/Templates,fec b/Resources/UK/Lazarus/Templates,fec
index 4b52b0262c997363a141f45083dde06375ed2bb2..fa317cef5a6c8eba5b8facaa31581e1b64ff9a20 100644
GIT binary patch
delta 625
zcmcJ}F-yZh6bJB^rU9WI6bz^kmm;`W97Ir@N(CK792}dZ2aSeA(n!ZRiC~eG3_2<m
zR|~r7ZU;BJ2nv1zH#af97cV4>qX)-3-tX?-|FjgALba+E0VDw6p67b30C#<89Aj?>
zd(^i~*D-XDQUASHo6zX6tYjAq-Q4R~PSfqMMsGh<Ml!%#q)6-28oqCR$MFd31=blI
zCO=WXA}-AZ8~8bCF{itzZQSE%1KeR8$1U_BR(d@|d(Qc`@UHLy+I`Nagl`HzN9+H3
zkPLXm05m`q7Y-3m#0NI^DZp$Y3-EyUm~#q1o(8x=yU95PAWs8y(asXr0B8UOpbKdL
zA2E=l>%xm%sjw)NtI88VnMIef7L-3&t=Y7E%XM^{t?{<$Sq2Bln*VdIyN+);2P+)5
amgW~%>kGJQ$r1(Xx?^(tPrf}Wj!8e?9=loq

delta 613
zcmbQh-N!vaL|2G~fq{{Mfg!c1D8GpJKM?%=+XfVi0E&UcGn4c4k`jw}FaP`d@7_d5
zVHu!;%Vw+y1xbm?+2xseDf#8Re<v19VC80JU=W|o%IGf10o0%I@BjZRKzad?mQ7?3
z_XNs@PEKW1uQvf24wC%<q+zmUK-nfB<^hUr0OAQi=VSnNp8(Pz-IIWFbCKjjpz=LX
z`9(mvwMg<3Q279;{3f8>UWj}>*n&Gi2Y@UPfhsrzlspSHAO|Q8a)1gG!U30na(9vB
zK@I@P!yNDkDEAgg9^?R!Jj?-~fO3Dq@-hqzAPYba04abufC(7%yeyNKG2P^G&d)2!
z%qvZ0P*UQZ?8|J#<D8h6oSMUMhJitVcXAxFV!cahadJ^+QYwSMJKi8u9b*Q^l$6Yp
b%>2B>99|?QNQxGGS(sf|E!f<_!odgtThPG3

diff --git a/VersionASM b/VersionASM
index 6b2c9cd..9d1c26e 100644
--- a/VersionASM
+++ b/VersionASM
@@ -6,9 +6,9 @@
 			GBLS	Module_MinorVersion
 			GBLS	Module_Date
 			GBLS	Module_FullVersion
-Module_MajorVersion	SETS    "4.34"
-Module_Version          SETA    434
+Module_MajorVersion	SETS    "4.35"
+Module_Version          SETA    435
 Module_MinorVersion	SETS	""
-Module_Date		SETS    "09 Nov 1999"
-Module_FullVersion      SETS    "4.34"
+Module_Date		SETS    "22 Nov 1999"
+Module_FullVersion      SETS    "4.35"
                         END
diff --git a/VersionNum b/VersionNum
index f48e623..2deca49 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,15 +1,15 @@
-/* (4.34)
+/* (4.35)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  *
  */
-#define Module_MajorVersion_CMHG     	4.34
+#define Module_MajorVersion_CMHG     	4.35
 #define Module_MinorVersion_CMHG	
-#define Module_Date_CMHG      		09 Nov 1999
+#define Module_Date_CMHG      		22 Nov 1999
 
-#define Module_MajorVersion     	"4.34"
-#define Module_Version                  434
+#define Module_MajorVersion     	"4.35"
+#define Module_Version                  435
 #define Module_MinorVersion		""
-#define Module_Date      		"09 Nov 1999"
+#define Module_Date      		"22 Nov 1999"
 
-#define Module_FullVersion              "4.34"
+#define Module_FullVersion              "4.35"
diff --git a/s/Wimp10 b/s/Wimp10
index 343ff02..89f9473 100644
--- a/s/Wimp10
+++ b/s/Wimp10
@@ -1897,9 +1897,25 @@ dofunkytitlebar Entry "R0-R11"
         Push    "R1"                    ; push the flags for use later on
 ;
       [ TrueIcon3
+      [ true
+        Push    "R0"
+        LDR     R0, title_topheight
+        LDR     R14, title_bottomheight
+        ADD     R0, R0, R14
+        ADD     R0, R0, #4              ; compensate for the fact that both topheight and bottomheight have been reduced by
+                                        ; one sprite pixel (not even one screen pixel) - difficult to do properly at this stage
+        LDR     R14, title_height
+        CMP     R0, R14                 ; if there's a gap between tbatmidt and tbarmidb, we always need to fill in the background
+        TEQGE   R0, R0                  ; if they overlapped, treat them as though they fitted perfectly, and check for mask
+        Pull    "R0"
+        LDREQ   R14, tool_list
+        LDREQ   R14, [R14, #tool_tbarmidt]
+        TSTEQ   R14, #1                 ; is title bar solid?
+       |
         LDR     R14, tool_list
         LDR     R14, [R14, #tool_tbarmidt]
         TST     R14, #1                 ; is title bar solid?
+      ]
         BICNE   R1,R1,#if_sprite:OR:if_text
         BLNE    drawicon_system         ; get the background / border plotted for the icon
       |
-- 
GitLab