mirror of
https://github.com/Rapptz/discord.py.git
synced 2026-03-05 11:08:50 +00:00
Prevent empty dictionaries from being added to the ViewStore
Fix #10405
This commit is contained in:
@@ -899,7 +899,7 @@ class ViewStore:
|
|||||||
self._modals[view.custom_id] = view # type: ignore
|
self._modals[view.custom_id] = view # type: ignore
|
||||||
return
|
return
|
||||||
|
|
||||||
dispatch_info = self._views.setdefault(message_id, {})
|
dispatch_info = self._views.get(message_id, {})
|
||||||
is_fully_dynamic = True
|
is_fully_dynamic = True
|
||||||
for item in view.walk_children():
|
for item in view.walk_children():
|
||||||
if isinstance(item, DynamicItem):
|
if isinstance(item, DynamicItem):
|
||||||
@@ -910,6 +910,9 @@ class ViewStore:
|
|||||||
is_fully_dynamic = False
|
is_fully_dynamic = False
|
||||||
|
|
||||||
view._cache_key = message_id
|
view._cache_key = message_id
|
||||||
|
if dispatch_info:
|
||||||
|
self._views[message_id] = dispatch_info
|
||||||
|
|
||||||
if message_id is not None and not is_fully_dynamic:
|
if message_id is not None and not is_fully_dynamic:
|
||||||
self._synced_message_views[message_id] = view
|
self._synced_message_views[message_id] = view
|
||||||
|
|
||||||
@@ -927,7 +930,7 @@ class ViewStore:
|
|||||||
elif item.is_dispatchable():
|
elif item.is_dispatchable():
|
||||||
dispatch_info.pop((item.type.value, item.custom_id), None) # type: ignore
|
dispatch_info.pop((item.type.value, item.custom_id), None) # type: ignore
|
||||||
|
|
||||||
if len(dispatch_info) == 0:
|
if dispatch_info is not None and len(dispatch_info) == 0:
|
||||||
self._views.pop(view._cache_key, None)
|
self._views.pop(view._cache_key, None)
|
||||||
|
|
||||||
self._synced_message_views.pop(view._cache_key, None) # type: ignore
|
self._synced_message_views.pop(view._cache_key, None) # type: ignore
|
||||||
|
|||||||
Reference in New Issue
Block a user