drag object deadzone changes which object is dragged

Bug #1066474 reported by Formerly Kevin Yin, now disabled
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
Medium
Unassigned

Bug Description

Preliminaries:
Go to Inkscape Preferences -> Mouse
Turn down Grab Sensitivity to 0.
Turn up Click/Drag Threshold to 20.
These steps aren't necessary, but they make the bug easier to reproduce.

To reproduce:
Draw a rectangle.
Draw a rectangle, with one edge touching the first rectangle's edge with minimal or no overlap. You'll end up with two rectangles next to each other.
Click once on the very limit of the second rectangle's edge where it touches the first rectangle's edge. Notice that the second rectangle is selected; your mouse is positioned over the second rectangle.
Without moving your mouse, click and hold down, then drag your mouse over to the first rectangle.

Notice that the first rectangle is moving, even though you clearly dragged the second rectangle.

I'm guessing that this bug also affects anything else that uses the deadzone, not just the drag function. The most obvious explanation is that at the moment of starting to move the object, Inkscape figures out what is below the mouse cursor, when it should instead be using the original click point. However, if you reproduce the bug without creating the first rectangle, the second rectangle will be dragged even though the cursor is located over nothing when the dragging starts.

Revision history for this message
Formerly Kevin Yin, now disabled (kyin) wrote :

Sorry, let me revise the reproduction instructions:

____
To reproduce:
Draw a rectangle.
Draw a rectangle, with one edge touching the first rectangle's edge with minimal or no overlap. You'll end up with two rectangles next to each other.
Using the select tool, click once on the very limit of the second rectangle's edge where it touches the first rectangle's edge. Notice that the second rectangle is selected; your mouse is positioned over the second rectangle.
Without moving your mouse, click and hold down, then drag your mouse over to the first rectangle.
___

I forgot to note the usage of the select tool.

Revision history for this message
su_v (suv-lp) wrote :

<off-topic>Please don't forget to provide details about your OS and the version of Inkscape installed when filing this report. See Inkscape menu 'Help > About Inkscape' for Inkscape's version / revision information.</off-topic>

tags: added: selection
Revision history for this message
su_v (suv-lp) wrote :

Reproduced with Inkscape 0.48.3.1 and 0.48+devel r11799 on OS X 10.7.4:

Inkscape drops the current selection and grabs the object which is positioned underneath the cursor position after having reached the click/drag threshold (distance from the pointer position where drag operation was started).

Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
tags: added: ui
Revision history for this message
LucaDC (lucadc) wrote :

See also bug #515997 .

Revision history for this message
Formerly Kevin Yin, now disabled (kyin) wrote :

I don't think bug #515997 is related to this one.

Revision history for this message
Christopher M. Rogers (cajhne) wrote :

In edit > preferences > Input/Output > Input Devices the Click/Drag Threshold is used to prevent accidentally moving an object during a selection action. However, Inkscape seems to also delay selecting the object until the click/drag threshold is reached. This means that if you have two overlapping objects and click and drag from the edge of one over the other, the second object gets selected instead of the one which was first clicked on.

To reproduce easily:
1. edit > preferences > Input/Output > Input Devices the Click/Drag Threshold = 20
2. draw two overlapping rectangles
3. start dragging less than 20px away from the edge of one onto the other rectangle.

Result: instead of activating the drag of the object which was clicked, it begins dragging the object which the cursor was over when it hits the 20px Click/Drag threshold.

Apart from being a bit annoying, it has some other unfortunate side effects:

1.When using the spacebar to clone an object in place, sometimes the default 4px distance is enough for the cursor to grab something nearby the duplicated object rather than the duplicate itself. The result is that the object is duplicated, but Inkscape selects and moves a different object rather than pulling along the duplicate, as it should. This happens a lot with text and other thin objects.
2. As mentioned before, sometimes the object clicked on to drag is not the object that is dragged. This is especially terrible in combination with Bug 1781898 : https://bugs.launchpad.net/inkscape/+bug/1781898

To fix: Inkscape should remember what object was clicked on initially, rather than waiting to choose it after the cursor has been moved 4px.

Additional: I also recommend that the click/drag threshold be set to 2px by default instead of 4px, as this seems to be enough to prevent errors from pen input devices (tested on Wacom tablet).

Inkscape ver:
0.92.0+devel+201807081751~ubuntu18.04.1

Revision history for this message
Christopher M. Rogers (cajhne) wrote :

This bug is unresolved. I'm adding it to the 1.0 release bugfix list, as it's still a constant problem.

Thanks everyone for your input and help.

tags: added: bug-migration
Revision history for this message
grey tomorrow (gtomorrow) wrote :

Hi - thanks for reporting this bug, I've manually migrated it to Inkscape's new
bug tracker on GitLab, and closed it here.

Please feel free to file new bugs about the issues you're seeing at
http://inkscape.org/report .

Moved to: https://gitlab.com/inkscape/inbox/issues/2120
Closed by: https://gitlab.com/greytomorrow

Changed in inkscape:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.