From b44ee23ceec1238d2e7c765eda7aa11d403f0f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Wed, 27 Sep 2023 15:17:02 +0200 Subject: [PATCH] Web: Clarify that `OS.get_unique_id` is not supported Remove the base error message in `OS`, we no longer really error out this way for not implemented methods. Instead, each platform should override them to provide the context they want. Fixes #82439. (cherry picked from commit 0a10f09ce4321695940a626eef9c64b36f599193) --- core/os/os.cpp | 2 +- doc/classes/OS.xml | 2 +- platform/javascript/os_javascript.cpp | 4 ++++ platform/javascript/os_javascript.h | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/os/os.cpp b/core/os/os.cpp index db02ee35c..df02d9bdf 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -626,7 +626,7 @@ void OS::swap_buffers() { } String OS::get_unique_id() const { - ERR_FAIL_V(""); + return ""; } int OS::get_processor_count() const { diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index daa213883..c903f79c1 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -579,7 +579,7 @@ Returns a string that is unique to the device. [b]Note:[/b] This string may change without notice if the user reinstalls/upgrades their operating system or changes their hardware. This means it should generally not be used to encrypt persistent data as the data saved before an unexpected ID change would become inaccessible. The returned string may also be falsified using external programs, so do not rely on the string returned by [method get_unique_id] for security purposes. - [b]Note:[/b] Returns an empty string on HTML5, as this method isn't implemented on this platform yet. + [b]Note:[/b] Returns an empty string and prints an error on HTML5, as this method cannot be implemented on this platform. diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index bfa1c4462..3ffaafae7 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -893,6 +893,10 @@ int OS_JavaScript::get_processor_count() const { return pandemonium_js_os_hw_concurrency_get(); } +String OS_JavaScript::get_unique_id() const { + ERR_FAIL_V_MSG("", "OS::get_unique_id() is not available on the HTML5 platform."); +} + bool OS_JavaScript::_check_internal_feature_support(const String &p_feature) { if (p_feature == "HTML5" || p_feature == "web") { return true; diff --git a/platform/javascript/os_javascript.h b/platform/javascript/os_javascript.h index 2faeecf5b..91c7d37a9 100644 --- a/platform/javascript/os_javascript.h +++ b/platform/javascript/os_javascript.h @@ -179,6 +179,7 @@ public: virtual Error kill(const ProcessID &p_pid); virtual int get_process_id() const; int get_processor_count() const; + String get_unique_id() const; virtual void alert(const String &p_alert, const String &p_title = "ALERT!"); virtual void set_window_title(const String &p_title);