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 @@ ...@@ -11,13 +11,13 @@
GBLS Module_HelpVersion GBLS Module_HelpVersion
GBLS Module_ComponentName GBLS Module_ComponentName
GBLS Module_ComponentPath GBLS Module_ComponentPath
Module_MajorVersion SETS "5.57" Module_MajorVersion SETS "5.58"
Module_Version SETA 557 Module_Version SETA 558
Module_MinorVersion SETS "" Module_MinorVersion SETS ""
Module_Date SETS "08 Apr 2017" Module_Date SETS "11 Apr 2017"
Module_ApplicationDate SETS "08-Apr-17" Module_ApplicationDate SETS "11-Apr-17"
Module_ComponentName SETS "Wimp" Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp" Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "5.57" Module_FullVersion SETS "5.58"
Module_HelpVersion SETS "5.57 (08 Apr 2017)" Module_HelpVersion SETS "5.58 (11 Apr 2017)"
END END
/* (5.57) /* (5.58)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1. * 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_MinorVersion_CMHG
#define Module_Date_CMHG 08 Apr 2017 #define Module_Date_CMHG 11 Apr 2017
#define Module_MajorVersion "5.57" #define Module_MajorVersion "5.58"
#define Module_Version 557 #define Module_Version 558
#define Module_MinorVersion "" #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_ComponentName "Wimp"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp" #define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "5.57" #define Module_FullVersion "5.58"
#define Module_HelpVersion "5.57 (08 Apr 2017)" #define Module_HelpVersion "5.58 (11 Apr 2017)"
#define Module_LibraryVersionInfo "5:57" #define Module_LibraryVersionInfo "5:58"
...@@ -4146,7 +4146,7 @@ Service2 ...@@ -4146,7 +4146,7 @@ Service2
TEQ R1,#Service_ModeChanging TEQ R1,#Service_ModeChanging
BEQ releasewrchvpremodechange BEQ releasewrchvpremodechange
TEQ R1, #Service_ModeFileChanged TEQ R1, #Service_ModeFileChanged
BEQ read_current_configd_mode BEQ servicemodefilechanged
TEQ R1,#Service_Reset TEQ R1,#Service_Reset
MOVNE PC,LR MOVNE PC,LR
...@@ -4193,6 +4193,15 @@ serviceresourcefsstarting ...@@ -4193,6 +4193,15 @@ serviceresourcefsstarting
MOV PC,R2 ; R2 -> address to call MOV PC,R2 ; R2 -> address to call
Pull "R0,PC" 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! ; 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 ; this MUST be in Resources:, as we need to use it directly
......
...@@ -1825,7 +1825,7 @@ vduin_scrsize ...@@ -1825,7 +1825,7 @@ vduin_scrsize
DCD VduExt_TotalScreenSize DCD VduExt_TotalScreenSize
DCD -1 DCD -1
; note_configd_mode ; read_current_configd_mode
; look at the currently configured mode ; look at the currently configured mode
read_current_configd_mode ROUT 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