gnome-shell/js/ui
Carlos Garnacho 7a86637f8d dnd: Avoid breaking drag state on cancellation
In the case where the draggable has an actor of its own, state could be
left broken when dragging on a place that would not accept the DnD op.
After button release, drag state is set to "cancelled" and the animation
begins. After the animation is finished, the drag actor would be destroyed
before disconnecting from its destroy handler.

Within the destroy handler, the grab would be undone but drag state would
be left on "cancelled" state for subsequent operations. This results in
DnD oddities and stuck grabs.

In order to fix this, double check in the actor destroy handler that we
are actually dragging before setting the "cancelled" state.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/540
2019-01-26 23:38:50 +00:00
..
components networkAgent: Advise the user to push a WPS button on their router 2019-01-25 15:25:26 +01:00
status cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
accessDialog.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
altTab.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
animation.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
appDisplay.js appDisplay: Use GAppInfo list from ShellAppSystem 2019-01-26 22:55:31 +01:00
appFavorites.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
audioDeviceSelection.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
background.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
backgroundMenu.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
barLevel.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
boxpointer.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
calendar.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
checkBox.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
closeDialog.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
ctrlAltTab.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
dash.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
dateMenu.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
dialog.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
dnd.js dnd: Avoid breaking drag state on cancellation 2019-01-26 23:38:50 +00:00
edgeDragAction.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
endSessionDialog.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
environment.js cleanup: Remove obsolete Lang imports 2019-01-22 21:33:46 +00:00
extensionDownloader.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
extensionSystem.js cleanup: Remove obsolete Lang imports 2019-01-22 21:33:46 +00:00
focusCaretTracker.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
grabHelper.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
ibusCandidatePopup.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
iconGrid.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
inhibitShortcutsDialog.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
kbdA11yDialog.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
keyboard.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
layout.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
lightbox.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
lookingGlass.js lookingGlass: Don't import Lang by default 2019-01-25 14:02:44 +00:00
magnifier.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
magnifierDBus.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
main.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
messageList.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
messageTray.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
modalDialog.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
mpris.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
notificationDaemon.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
osdMonitorLabeler.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
osdWindow.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
overview.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
overviewControls.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
padOsd.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
panel.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
panelMenu.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
pointerWatcher.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
popupMenu.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
remoteMenu.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
remoteSearch.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
runDialog.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
screencast.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
screenShield.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
screenshot.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
scripting.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
search.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
sessionMode.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
shellDBus.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
shellEntry.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
shellMountOperation.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
slider.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
switcherPopup.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
switchMonitor.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
tweener.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
unlockDialog.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
userWidget.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
viewSelector.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
windowAttentionHandler.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
windowManager.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
windowMenu.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
workspace.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
workspacesView.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
workspaceSwitcherPopup.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
workspaceThumbnail.js cleanup: Port GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00
xdndHandler.js cleanup: Port non-GObject classes to JS6 classes 2019-01-25 14:02:44 +00:00