diff --git a/modules/users/users/user.cpp b/modules/users/users/user.cpp index 22e663215..d22fdb773 100644 --- a/modules/users/users/user.cpp +++ b/modules/users/users/user.cpp @@ -326,10 +326,15 @@ Error User::write_try_lock() { } UserManager *User::get_owner_user_manager() { - return _owner_user_manager; + return ObjectDB::get_instance(_owner_user_manager); } void User::set_owner_user_manager(UserManager *p_user_manager) { - _owner_user_manager = p_user_manager; + if (!p_user_manager) { + _owner_user_manager = ObjectID(); + return; + } + + _owner_user_manager = p_user_manager->get_instance_id(); } void User::set_owner_user_manager_bind(Node *p_user_manager) { set_owner_user_manager(Object::cast_to(p_user_manager)); @@ -340,7 +345,7 @@ User::User() { _rank = 0; _banned = false; _locked = false; - _owner_user_manager = NULL; + _owner_user_manager = ObjectID(); } User::~User() { diff --git a/modules/users/users/user.h b/modules/users/users/user.h index b985e9f68..5b683229b 100644 --- a/modules/users/users/user.h +++ b/modules/users/users/user.h @@ -134,7 +134,7 @@ protected: RWLock _rw_lock; - UserManager *_owner_user_manager; + ObjectID _owner_user_manager; }; #endif