Store the owner UserManager in User as an ObjectID.

This commit is contained in:
Relintai 2025-05-11 18:49:11 +02:00
parent 704cea8354
commit e5629e2a1b
2 changed files with 9 additions and 4 deletions

View File

@ -326,10 +326,15 @@ Error User::write_try_lock() {
} }
UserManager *User::get_owner_user_manager() { UserManager *User::get_owner_user_manager() {
return _owner_user_manager; return ObjectDB::get_instance<UserManager>(_owner_user_manager);
} }
void User::set_owner_user_manager(UserManager *p_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) { void User::set_owner_user_manager_bind(Node *p_user_manager) {
set_owner_user_manager(Object::cast_to<UserManager>(p_user_manager)); set_owner_user_manager(Object::cast_to<UserManager>(p_user_manager));
@ -340,7 +345,7 @@ User::User() {
_rank = 0; _rank = 0;
_banned = false; _banned = false;
_locked = false; _locked = false;
_owner_user_manager = NULL; _owner_user_manager = ObjectID();
} }
User::~User() { User::~User() {

View File

@ -134,7 +134,7 @@ protected:
RWLock _rw_lock; RWLock _rw_lock;
UserManager *_owner_user_manager; ObjectID _owner_user_manager;
}; };
#endif #endif