From 5b5ff99ad9834a66fb64bfdb143419fe71d26a20 Mon Sep 17 00:00:00 2001 From: Neil Turton <nturton@gitlab.riscosopen.org> Date: Tue, 5 Nov 1996 19:43:27 +0000 Subject: [PATCH] Import from cleaned 370 CD --- c/auxiliary | 25 +++++++++++++++++++++---- cmhg/Modhdr | 2 +- cmhg/Modhdr_NoD | 2 +- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/c/auxiliary b/c/auxiliary index 9503986..628d90f 100644 --- a/c/auxiliary +++ b/c/auxiliary @@ -90,11 +90,28 @@ extern _kernel_oserror *menu_update_size(MenuInternal *menu_int) { if (entry->icon_flags & wimp_ICONFLAGS_TEXT) { width = (entry->icon_data.indirect_text.buff_len+1)<<4; } else { - regs.r[0] = os_SpriteOp_ReadInfo; - regs.r[2] = (int) entry->icon_data.indirect_sprite.sprite.name; + /* IDJ: 22-May-95: bug-fix AQU-01264: look in user sprite area if + one is defined first, then in wimp sprite area as a + fall-back. + */ + e = NULL; + + if (entry->icon_data.indirect_sprite.sprite_area != (void *)1 /* user area */) + { + regs.r[0] = os_SpriteOp_ReadInfo + 256; + regs.r[1] = (int) entry->icon_data.indirect_sprite.sprite_area; + regs.r[2] = (int) entry->icon_data.indirect_sprite.sprite.name; + + e = _kernel_swi (OS_SpriteOp, ®s, ®s); + } - if ((e = _kernel_swi (Wimp_SpriteOp, ®s, ®s)) != NULL) { - return e; + if (e != NULL || entry->icon_data.indirect_sprite.sprite_area == (void *)1 /* WIMP area */) + { + regs.r[0] = os_SpriteOp_ReadInfo; + regs.r[2] = (int) entry->icon_data.indirect_sprite.sprite.name; + + if ((e = _kernel_swi (Wimp_SpriteOp, ®s, ®s)) != NULL) + return e; } width = regs.r[3]; mode = regs.r[6]; diff --git a/cmhg/Modhdr b/cmhg/Modhdr index e259f00..71288fd 100644 --- a/cmhg/Modhdr +++ b/cmhg/Modhdr @@ -33,7 +33,7 @@ service-call-handler: Menu_services 0x44ec1, 0x44ec2, 0x44ec3 title-string: Menu -help-string: Menu 0.23 +help-string: Menu 0.24 command-keyword-table: Menu_commands Menu_Memory() diff --git a/cmhg/Modhdr_NoD b/cmhg/Modhdr_NoD index 3c033a7..66c3346 100644 --- a/cmhg/Modhdr_NoD +++ b/cmhg/Modhdr_NoD @@ -33,7 +33,7 @@ service-call-handler: Menu_services 0x44ec1, 0x44ec2, 0x44ec3 title-string: Menu -help-string: Menu 0.23 +help-string: Menu 0.24 swi-chunk-base-number: 0x828c0 -- GitLab