xwm: fixup targets in selection requests

fixes #8719
This commit is contained in:
Vaxry 2024-12-18 15:24:37 +00:00
parent 4c4471c66d
commit 80a4852266

View File

@ -633,7 +633,14 @@ void CXWM::handleSelectionRequest(xcb_selection_request_event_t* e) {
if (e->target == HYPRATOMS["TARGETS"]) { if (e->target == HYPRATOMS["TARGETS"]) {
// send mime types // send mime types
auto mimes = g_pSeatManager->selection.currentSelection->mimes(); std::vector<std::string> mimes;
if (sel == &clipboard && g_pSeatManager->selection.currentSelection)
mimes = g_pSeatManager->selection.currentSelection->mimes();
else if (sel == &dndSelection && !dndDataOffers.empty() && dndDataOffers.at(0)->source)
mimes = dndDataOffers.at(0)->source->mimes();
if (mimes.empty())
Debug::log(WARN, "[xwm] WARNING: No mimes in TARGETS?");
std::vector<xcb_atom_t> atoms; std::vector<xcb_atom_t> atoms;
atoms.push_back(HYPRATOMS["TIMESTAMP"]); atoms.push_back(HYPRATOMS["TIMESTAMP"]);