summaryrefslogtreecommitdiff
path: root/src/events/Popups.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-02-20 18:14:30 +0000
committerVaxry <vaxry@vaxry.net>2024-02-20 18:14:36 +0000
commit13d985489788fa5349b3457d6eb1c19bad8f37e9 (patch)
tree4c7672aed6f9377102ed6abe4cca77eab2e016c4 /src/events/Popups.cpp
parentcd73dda16e0e2e3008c87115b34b7c6e054ff5a8 (diff)
xdgpopup: fix UAF because of an invalid listener connection
destroy should be connected to popup::destroy, not popup::surface::destroy... ref #4751
Diffstat (limited to 'src/events/Popups.cpp')
-rw-r--r--src/events/Popups.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/events/Popups.cpp b/src/events/Popups.cpp
index bcdb1808..ae95bc5e 100644
--- a/src/events/Popups.cpp
+++ b/src/events/Popups.cpp
@@ -55,7 +55,7 @@ void addPopupGlobalCoords(void* pPopup, int* x, int* y) {
void createNewPopup(wlr_xdg_popup* popup, SXDGPopup* pHyprPopup) {
pHyprPopup->popup = popup;
- pHyprPopup->hyprListener_destroyPopupXDG.initCallback(&popup->base->events.destroy, &Events::listener_destroyPopupXDG, pHyprPopup, "HyprPopup");
+ pHyprPopup->hyprListener_destroyPopupXDG.initCallback(&popup->events.destroy, &Events::listener_destroyPopupXDG, pHyprPopup, "HyprPopup");
pHyprPopup->hyprListener_mapPopupXDG.initCallback(&popup->base->surface->events.map, &Events::listener_mapPopupXDG, pHyprPopup, "HyprPopup");
pHyprPopup->hyprListener_unmapPopupXDG.initCallback(&popup->base->surface->events.unmap, &Events::listener_unmapPopupXDG, pHyprPopup, "HyprPopup");
pHyprPopup->hyprListener_newPopupFromPopupXDG.initCallback(&popup->base->events.new_popup, &Events::listener_newPopupFromPopupXDG, pHyprPopup, "HyprPopup");