Merge pull request #3645 from yogstation13/upstream-merge-41668

[MIRROR] Bandaid for the TGS4 Linux trusted mode bug
This commit is contained in:
nichlas0010
2018-11-27 12:50:12 +01:00
committed by GitHub
4 changed files with 11 additions and 2 deletions

View File

@@ -1,6 +1,8 @@
#define RESTART_COUNTER_PATH "data/round_counter.txt"
GLOBAL_VAR(restart_counter)
//TODO: Replace INFINITY with the version that fixes http://www.byond.com/forum/?post=2407430
GLOBAL_VAR_INIT(bypass_tgs_reboot, world.system_type == UNIX && world.byond_build < INFINITY)
//This happens after the Master subsystem new(s) (it's a global datum)
//So subsystems globals exist, but are not initialised
@@ -14,7 +16,7 @@ GLOBAL_VAR(restart_counter)
make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once)
TgsNew(minimum_required_security_level = TGS_SECURITY_TRUSTED)
TgsNew(new /datum/tgs_event_handler/tg, minimum_required_security_level = TGS_SECURITY_TRUSTED)
GLOB.revdata = new
@@ -205,7 +207,8 @@ GLOBAL_VAR(restart_counter)
to_chat(world, "<span class='boldannounce'>Rebooting world...</span>")
Master.Shutdown() //run SS shutdowns
TgsReboot()
if(!GLOB.bypass_tgs_reboot)
TgsReboot()
if(TEST_RUN_PARAMETER in params)
FinishTestRun()

View File

@@ -0,0 +1,4 @@
/datum/tgs_event_handler/tg/HandleEvent(event_code, ...)
switch(event_code)
if(TGS_EVENT_COMPILE_COMPLETE)
GLOB.bypass_tgs_reboot = FALSE

View File

@@ -2641,6 +2641,7 @@
#include "code\modules\surgery\organs\tails.dm"
#include "code\modules\surgery\organs\tongue.dm"
#include "code\modules\surgery\organs\vocal_cords.dm"
#include "code\modules\tgs\event_handler.dm"
#include "code\modules\tgs\includes.dm"
#include "code\modules\tgui\external.dm"
#include "code\modules\tgui\states.dm"

View File

@@ -2639,6 +2639,7 @@
#include "code\modules\surgery\organs\tails.dm"
#include "code\modules\surgery\organs\tongue.dm"
#include "code\modules\surgery\organs\vocal_cords.dm"
#include "code\modules\tgs\event_handler.dm"
#include "code\modules\tgs\includes.dm"
#include "code\modules\tgui\external.dm"
#include "code\modules\tgui\states.dm"