GNOME Bugzilla – Bug 132352
Intelligent scissors tool fails to move terminal points
Last modified: 2006-08-14 12:33:27 UTC
Description of Problem: It seems you are only able to move a non- terminal (i.e. not the most recently, or first created point) even though the little four-way arrow is displayed when you move the pointer over a terminal point. Steps to reproduce the problem: 1. Create a new image 2. Select the intelligent scissors tool 3. Create a few points 4. Attempt to "move" the most recently created point Actual Results: Step 4 above fails and instead of moving the most-recently-created point, it creates a new point. Same occurs if you attempt to move the first-created point. Expected Results: I'd expect it to actually move the point. Gimp does display the four-way arrow rather than the "+" which indicates it does intend to move the point, though it does not. How often does this happen? Everytime. Additional Information: Gimp 2.0-pre2 under WinXP Home.
Confirmed. Should hopefully be an easy fix.
Well, it's not an easy fix. Moving the terminal is explicitly disabled. I tried to enable it naively but the whole tool broke badly. That code seems to be so fragile, we should not change it for 2.0.
Since noone is actively working on this it shouldn't block the 2.2 release.
Upgrading target milestone from Future to 2.6.
There are two things to consider: - While the list of points is still being defined (shape not closed yet), all points except the terminal points can be moved. Unfortunately, as the reporter mentioned, the cursor shows the "move" option even for the terminal points. - Once the shape is closed, all points can be moved. I think that it does make sense to have a different behavior for the terminal points while the shape is still open, otherwise it would be very difficult to create points that are very close to each other (problem with last point) or to close the shape (problem with first point). So the main problem is that the cursor shows the "move" option for these points, but it should not do that. It should keep the normal "+" cursor (adding a new point) while the mouse over the last point and use a new "connect" cursor (similar to the two circles used in the vector/path tool) while the mouse is over the first point. Ensuring that the cursor is updated correctly and reflects what will actually be done should be the right way to solve this problem. I had a quick look at the code and it may still be possible to fix this for 2.4 (but I didn't change the milestone).
The "connect" cursor should only be used for the first point if there are already more than 2 points defined. Otherwise, it should probably show a "forbidden" cursor or something like that.
2006-08-14 Sven Neumann <sven@gimp.org> * app/tools/gimpiscissorstool.c (gimp_iscissors_tool_oper_update): do not select ISCISSORS_OP_MOVE_POINT for terminal points. Fixes bug #132352.