GNOME Bugzilla – Bug 679451
Add ::drag-progress signal
Last modified: 2012-07-11 20:15:34 UTC
Preventing ClutterDragAction::drag-motion from calling clutter_actor_move_by() is currently a pain: you need to either subclass ClutterDragAction, or stop the ::drag-motion signal emission.
Created attachment 218095 [details] [review] drag-action: Add ::drag-progress signal Overriding the default behaviour of ClutterDragAction::drag-motion is currently a pain; you either need to subclass the ClutterDragAction and override the class closure for the signal, or you need to connect to the signal and call g_signal_stop_emission_by_name() - neither option being particularly nice or clean. The established pattern for these cases would be to have a boolean return value on the ::drag-motion signal, but we cannot do that without breaking ABI. To solve the issue in a backward compatible way, we should introduce a new signal, ::drag-progress, with a boolean return value. If the signal emission chain returns TRUE, the ::drag-motion signal will be emitted, and the default behaviour will be honoured; if the signal emission chain returns FALSE, instead, the ::drag-motion signal will not be emitted.
pushed to master.