summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/variant.cpp8
-rw-r--r--scene/main/scene_tree.cpp12
2 files changed, 13 insertions, 7 deletions
diff --git a/core/variant.cpp b/core/variant.cpp
index 8b2051add7..56b272cccf 100644
--- a/core/variant.cpp
+++ b/core/variant.cpp
@@ -1731,6 +1731,14 @@ Variant::operator RID() const {
else if (type == OBJECT && !_get_obj().ref.is_null()) {
return _get_obj().ref.get_rid();
} else if (type == OBJECT && _get_obj().obj) {
+#ifdef DEBUG_ENABLED
+ if (ScriptDebugger::get_singleton()) {
+ if (!ObjectDB::instance_validate(_get_obj().obj)) {
+ ERR_EXPLAIN("Invalid pointer (object was deleted)");
+ ERR_FAIL_V(RID());
+ };
+ };
+#endif
Variant::CallError ce;
Variant ret = _get_obj().obj->call(CoreStringNames::get_singleton()->get_rid, NULL, 0, ce);
if (ce.error == Variant::CallError::CALL_OK && ret.get_type() == Variant::_RID) {
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index 16817a2846..f713851090 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -1941,12 +1941,11 @@ void SceneTree::add_idle_callback(IdleCallback p_callback) {
void SceneTree::set_use_font_oversampling(bool p_oversampling) {
+ if (use_font_oversampling == p_oversampling)
+ return;
+
use_font_oversampling = p_oversampling;
- if (use_font_oversampling) {
- DynamicFontAtSize::font_oversampling = OS::get_singleton()->get_window_size().width / root->get_visible_rect().size.width;
- } else {
- DynamicFontAtSize::font_oversampling = 1.0;
- }
+ _update_root_rect();
}
bool SceneTree::is_using_font_oversampling() const {
@@ -1960,6 +1959,7 @@ SceneTree::SceneTree() {
accept_quit = true;
quit_on_go_back = true;
initialized = false;
+ use_font_oversampling = false;
#ifdef DEBUG_ENABLED
debug_collisions_hint = false;
debug_navigation_hint = false;
@@ -2095,8 +2095,6 @@ SceneTree::SceneTree() {
live_edit_root = NodePath("/root");
#endif
-
- use_font_oversampling = false;
}
SceneTree::~SceneTree() {