• Vlad Zahorodnii's avatar
    Emit DataOfferInterface::dragAndDropActionsChanged() only if dnd actions change · 6fec0b86
    Vlad Zahorodnii authored
    With some apps, firefox specifically, it's possible to enter a dnd
    positive feedback loop, e.g.
    * kwin sends wl_data_offer::action event
    * the app reacts to it and calls wl_data_offer::set_actions() with the
      same actions
    * kwin re-sends the wl_data_offer::action event because
      DataOfferInterface::dragAndDropActionsChanged() has been emitted
    * the app calls wl_data_offer::set_actions() again, and so on...
    This should make D&D in Firefox more responsive.
    (cherry picked from commit debd2ad6)