瀏覽代碼

Fix the exceptions in signal disconnection

Use the correct method to get SignalData to fix exceptions in signal disconnection
Xwdit 3 年之前
父節點
當前提交
0bd96bd2cf
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      core/object/object.cpp

+ 1 - 1
core/object/object.cpp

@@ -1410,7 +1410,7 @@ void Object::_disconnect(const StringName &p_signal, const Callable &p_callable,
 
 	ERR_FAIL_COND_MSG(!s->slot_map.has(*p_callable.get_base_comparator()), "Disconnecting nonexistent signal '" + p_signal + "', callable: " + p_callable + ".");
 
-	SignalData::Slot *slot = &s->slot_map[p_callable];
+	SignalData::Slot *slot = &s->slot_map[*p_callable.get_base_comparator()];
 
 	if (!p_force) {
 		slot->reference_count--; // by default is zero, if it was not referenced it will go below it