Move Mono unhandled exception setting to be located within a subsection
Settings that aren't within a subsection are difficult to reach when other settings do have a subsection. This also adds documentation for the project setting.
This commit is contained in:
parent
5defa1c167
commit
4c88a82f50
3 changed files with 28 additions and 1 deletions
|
@ -949,6 +949,20 @@
|
|||
<member name="memory/limits/multithreaded_server/rid_pool_prealloc" type="int" setter="" getter="" default="60">
|
||||
This is used by servers when used in multi-threading mode (servers and visual). RIDs are preallocated to avoid stalling the server requesting them on threads. If servers get stalled too often when loading resources in a thread, increase this number.
|
||||
</member>
|
||||
<member name="mono/debugger_agent/port" type="int" setter="" getter="" default="23685">
|
||||
</member>
|
||||
<member name="mono/debugger_agent/wait_for_debugger" type="bool" setter="" getter="" default="false">
|
||||
</member>
|
||||
<member name="mono/debugger_agent/wait_timeout" type="int" setter="" getter="" default="3000">
|
||||
</member>
|
||||
<member name="mono/profiler/args" type="String" setter="" getter="" default=""log:calls,alloc,sample,output=output.mlpd"">
|
||||
</member>
|
||||
<member name="mono/profiler/enabled" type="bool" setter="" getter="" default="false">
|
||||
</member>
|
||||
<member name="mono/runtime/unhandled_exception_policy" type="int" setter="" getter="" default="0">
|
||||
The policy to use for unhandled Mono (C#) exceptions. The default "Terminate Application" exits the project as soon as an unhandled exception is thrown. "Log Error" logs an error message to the console instead, and will not interrupt the project execution when an unhandled exception is thrown.
|
||||
[b]Note:[/b] The unhandled exception policy is always set to "Log Error" in the editor, which also includes C# [code]tool[/code] scripts running within the editor as well as editor plugin code.
|
||||
</member>
|
||||
<member name="network/limits/debugger_stdout/max_chars_per_second" type="int" setter="" getter="" default="2048">
|
||||
Maximum amount of characters allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
|
||||
</member>
|
||||
|
|
|
@ -1613,6 +1613,19 @@ bool Main::start() {
|
|||
DirAccessRef da = DirAccess::open(doc_tool_path);
|
||||
ERR_FAIL_COND_V_MSG(!da, false, "Argument supplied to --doctool must be a valid directory path.");
|
||||
}
|
||||
|
||||
#ifndef MODULE_MONO_ENABLED
|
||||
// Hack to define Mono-specific project settings even on non-Mono builds,
|
||||
// so that we don't lose their descriptions and default values in DocData.
|
||||
// Default values should be synced with mono_gd/gd_mono.cpp.
|
||||
GLOBAL_DEF("mono/debugger_agent/port", 23685);
|
||||
GLOBAL_DEF("mono/debugger_agent/wait_for_debugger", false);
|
||||
GLOBAL_DEF("mono/debugger_agent/wait_timeout", 3000);
|
||||
GLOBAL_DEF("mono/profiler/args", "log:calls,alloc,sample,output=output.mlpd");
|
||||
GLOBAL_DEF("mono/profiler/enabled", false);
|
||||
GLOBAL_DEF("mono/runtime/unhandled_exception_policy", 0);
|
||||
#endif
|
||||
|
||||
DocData doc;
|
||||
doc.generate(doc_base);
|
||||
|
||||
|
|
|
@ -499,7 +499,7 @@ void GDMono::_init_godot_api_hashes() {
|
|||
}
|
||||
|
||||
void GDMono::_init_exception_policy() {
|
||||
PropertyInfo exc_policy_prop = PropertyInfo(Variant::INT, "mono/unhandled_exception_policy", PROPERTY_HINT_ENUM,
|
||||
PropertyInfo exc_policy_prop = PropertyInfo(Variant::INT, "mono/runtime/unhandled_exception_policy", PROPERTY_HINT_ENUM,
|
||||
vformat("Terminate Application:%s,Log Error:%s", (int)POLICY_TERMINATE_APP, (int)POLICY_LOG_ERROR));
|
||||
unhandled_exception_policy = (UnhandledExceptionPolicy)(int)GLOBAL_DEF(exc_policy_prop.name, (int)POLICY_TERMINATE_APP);
|
||||
ProjectSettings::get_singleton()->set_custom_property_info(exc_policy_prop.name, exc_policy_prop);
|
||||
|
|
Loading…
Reference in a new issue