From 609fc29119dff05db2e8e406639851fb4b47b7f5 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Thu, 13 Jun 2019 19:19:15 +0200 Subject: [PATCH] memory settings saved; adjusted for the lack of get_new_handler on steam --- config.cpp | 2 ++ savemem.cpp | 5 +++++ sysconfig.h | 1 + 3 files changed, 8 insertions(+) diff --git a/config.cpp b/config.cpp index cb0478d7..500c36c0 100644 --- a/config.cpp +++ b/config.cpp @@ -224,6 +224,8 @@ void initConfig() { addsaver(vid.auto_eye, "auto-eyelevel", false); addsaver(memory_saving_mode, "memory_saving_mode", (ISMOBILE || ISPANDORA || ISWEB) ? 1 : 0); + addsaver(reserve_limit, "memory_reserve", 128); + addsaver(show_memory_warning, "show_memory_warning"); addsaver(rug::renderonce, "rug-renderonce"); addsaver(rug::rendernogl, "rug-rendernogl"); diff --git a/savemem.cpp b/savemem.cpp index 6131a1bd..2def083a 100644 --- a/savemem.cpp +++ b/savemem.cpp @@ -207,7 +207,12 @@ void apply_memory_reserve() { } } catch(std::bad_alloc&) {} + #if ((ISLINUX && ISSTEAM) || ISWINDOWS) + // no get_new_handler on this compiler... + default_handler = [] { throw std::bad_alloc(); }; + #else default_handler = std::get_new_handler(); + #endif if(reserve_count > 0) std::set_new_handler(reserve_handler); } diff --git a/sysconfig.h b/sysconfig.h index aac7918a..c75aca7b 100644 --- a/sysconfig.h +++ b/sysconfig.h @@ -402,6 +402,7 @@ extern "C" { #include #include #include +#include #ifdef USE_UNORDERED_MAP #include