<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - wayland: connection flooded when dragging"
href="https://bugzilla.gnome.org/show_bug.cgi?id=763298#c8">Comment # 8</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - wayland: connection flooded when dragging"
href="https://bugzilla.gnome.org/show_bug.cgi?id=763298">bug 763298</a>
from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=carlosg%40gnome.org" title="Carlos Garnacho <carlosg@gnome.org>"> <span class="fn">Carlos Garnacho</span></a>
</span></b>
<pre>(In reply to Matthias Clasen from <a href="show_bug.cgi?id=763298#c7">comment #7</a>)
<span class="quote">> Here is another concern I came upwith this morning:
>
> The gdk dnd api lets you pretty freely call gdk_drag_status from whereever.</span >
Hmmm, wherever in response to DnD events, or crazier things like timeouts, etc?
I thought the docs seemed clear enough (even if outdated/non-generic):
"This function is called by the drag destination in response to
gdk_drag_motion() called by the drag source."
It's right I'm missing GDK_DRAG_ENTER in the switch though.
<span class="quote">> With this change, I'm afraid that this might not work anymore for Wayland,
> since gdk_drag_status will not have any effect unless it is in response to a
> drag motion event.
>
> Now, I don't know if such 'freestanding gdk_drag_status calls ever worked
> with Wayland in the first place...</span >
According to the wayland DnD protocol, the wl_data_offer.set_actions request
(which gdk_drag_status/commit_drag_status boil down to) are allowed "during
dnd" (typically in response to wl_data_device.enter/motion) and once after
wl_data_device.drop, only if an "ask" action was agreed previously. I guess we
should also enforce the latter more pervasively.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>