Commit 50eea7b2 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Gate the recache of currentmode

The operations at module init and at Service_PreReset are both implicitly pre desktop, however it is valid to have Service_ModeFileChanged while in the desktop (for example, if selecting a different MDF from !ScrnSetup).
Gate the one hanging off Service_ModeFileChanged to only act when there are no tasks active (ie. outside the Wimp).
Fixes problem reported https://www.riscosopen.org/forum/forums/4/topics/9206 with NetSurf redraw.

Version 5.58. Tagged as 'Wimp-5_58'
parent 121acd27
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.57"
Module_Version SETA 557
Module_MajorVersion SETS "5.58"
Module_Version SETA 558
Module_MinorVersion SETS ""
Module_Date SETS "08 Apr 2017"
Module_ApplicationDate SETS "08-Apr-17"
Module_Date SETS "11 Apr 2017"
Module_ApplicationDate SETS "11-Apr-17"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "5.57"
Module_HelpVersion SETS "5.57 (08 Apr 2017)"
Module_FullVersion SETS "5.58"
Module_HelpVersion SETS "5.58 (11 Apr 2017)"
END
/* (5.57)
/* (5.58)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.57
#define Module_MajorVersion_CMHG 5.58
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 08 Apr 2017
#define Module_Date_CMHG 11 Apr 2017
#define Module_MajorVersion "5.57"
#define Module_Version 557
#define Module_MajorVersion "5.58"
#define Module_Version 558
#define Module_MinorVersion ""
#define Module_Date "08 Apr 2017"
#define Module_Date "11 Apr 2017"
#define Module_ApplicationDate "08-Apr-17"
#define Module_ApplicationDate "11-Apr-17"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "5.57"
#define Module_HelpVersion "5.57 (08 Apr 2017)"
#define Module_LibraryVersionInfo "5:57"
#define Module_FullVersion "5.58"
#define Module_HelpVersion "5.58 (11 Apr 2017)"
#define Module_LibraryVersionInfo "5:58"
......@@ -4146,7 +4146,7 @@ Service2
TEQ R1,#Service_ModeChanging
BEQ releasewrchvpremodechange
TEQ R1, #Service_ModeFileChanged
BEQ read_current_configd_mode
BEQ servicemodefilechanged
TEQ R1,#Service_Reset
MOVNE PC,LR
......@@ -4193,6 +4193,15 @@ serviceresourcefsstarting
MOV PC,R2 ; R2 -> address to call
Pull "R0,PC"
; A new MDF was loaded, this might have improved the kernel's idea
; of what the configured 'auto' mode achievable is, recache currentmode
servicemodefilechanged
Push "LR"
LDR LR,taskcount
TEQ LR,#0 ; but only if we're outside the desktop
BLEQ read_current_configd_mode
Pull "PC"
; try to locate ROM sprite area - if not found, refuse to start up!
; this MUST be in Resources:, as we need to use it directly
......
......@@ -1825,7 +1825,7 @@ vduin_scrsize
DCD VduExt_TotalScreenSize
DCD -1
; note_configd_mode
; read_current_configd_mode
; look at the currently configured mode
read_current_configd_mode ROUT
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment