> + While managing an "ask" action, the destination drag-and-drop > client > + may perform further wl_data_offer.receive requests, and is expected > + to perform one last wl_data_offer.set_actions request with a > preferred > + action other than "ask" (and optionally wl_data_offer.accept) > before > + requesting wl_data_offer.finish, in order to convey the action > selected > + by the user. If the preferred action is not in the > + wl_data_offer.source_actions mask, an error will be raised. >
Sorry, this is still not answering the question. Please describe exactly what happens when a source sends COPY+MOVE, and contrast it with exactly what happens when a source sends COPY+MOVE+ASK. My current guess is that the only effect of ASK is to stop the compositor from restricting the set if there are no modifiers down. A much more tedious and complete answer that might solve some of this mystery: There are three sets of actions in the api: - The source supplied set - The destination supplied set - The compositor-produced intersection of these sets, further modified by modifier keys. There are also six different sets of actions of interest: - The empty set - A single action other than ASK - More than one action but without ASK - ASK by itself - ASK with a single other action - ASK with more than one other action For all eighteen possible combinations of the above three parts of the api and six types of sets, can you answer: - Is it valid (can a correctly-operating source, destination, and compositor produce them?) - What does it mean? Basically contrast it with what happens if the ASK bit is inverted.
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel