Cannot write negative position values into SPR filter

  • What is your operating system?

Linux Mint 22.2 Cinnamon. Installed Shotcut through Software Manager (Flathub).

  • What is your Shotcut version (see Help > About Shotcut)?

    • 26.4.30
  • Can you repeat the problem? If so, what are the steps?

  1. Add an image to Playlist
  2. Drag it to the timeline of a video track
  3. Click on the image in the timeline
  4. Switch to Filters tab
  5. Add Size, Position & Rotate filter
  6. Click on the “Position” input box
  7. (Try to) write -10 with either the Numpad button minus and numbers 1 and 0
    or with the minus button next to the Shift key (Nordic keyboard), and numbers 1 and 0

Expectation:

  • The input changes to -10 and the image is moved accordingly

Actual:

  • Nothing happens. The original value of “Position” remains and does not change at all.

If you don’t add a minus, then the number input works, but you also cannot write a minus character after that, so you cannot first write 10 and then add minus in front of it. Seems like the input field is rejecting the minus character?

Checking the character that is written, it is 0x2d which is the “normal” hyphen character.

Works fine for me.

Version 26.4.30
Windows 10

So it seems to only affect Linux for some reason. I checked the character that is being written, and it is the normal hyphen (0x2d).

Did you try with other filters?
Crop: Rectangle or Mask: Simple Shape for example.

What about the Notes panel or the text input field in the Text: Simple filter? Does the hyphen work there?

Interesting, the minus does work in both of those.

Also in Notes panel and in Text.

So there’s something specific to the Size, Position & Rotate filter, where it consistently rejects the minus.

Or maybe it’s a temporary glitch. If you haven’t already done so:

  • Save your project
  • Close Shotcut
  • Open Shotcut and try again to put an hyphen in the Position fields of the SP&R filter.

Hmm, after that, it works a little bit, but not in all cases, and still a little bit awkwardly:

Case 1:

  1. Click on the input when it has the value -40
  2. If I type 1 nothing happens
  3. When I press 1 again, it makes the value -401

Case 2:

  1. Click on the input when it has value -40
  2. If I type - nothing happens
  3. If I type -2 it makes the value -402

Case 3:

  1. Click on the input when it has value -40
  2. If I press Backspace (to delete), on the first press nothing happens, except if I clicked so that the cursor is between 4 and 0 then the first backspace press moves the cursor to the end (right side of 0)
  3. When I press a second time (in either case), it deletes the 0 to make it -4

Case 4:

  1. Click on the input when it has value 25 (positive)
  2. If the cursor is in the end (right side of 25), pressing - does nothing
  3. If the cursor is between 2 and 5, pressing - moves the cursor to the end (right side of 5)
  4. If the cursor is to the left of 2, pressing - changes the value to -25

Case 5:

  1. Doubleclick on the input when it has value 25 (positive)
  2. It selects the entire value, as expected
  3. But typing -25 it makes the value 2525 :thinking:

It might be down to the preferences of the developer, but I would expect these to happen based on “most” programs behaviour:

  • If the input does not have focus, and the value is -40 and I click anywhere in the box and write 1, the input would have 1
  • If the input does not have focus, and the value is -40 and I click anywhere in the box and write -2, the input would have -2
  • If the input does not have focus, and the value is -40 and I click anywhere in the box and type backspace once, it would have -4
  • If the input does not have focus, and the value is -40 and I click anywhere in the box and type backspace twice, it would have - or maybe 0 . After which typing -25 would make the input -25
  • If the input does not have focus, and the value is 25 and I click anywhere in the box and type -20, the input would have -20
  • If the input does not have focus, and the value is 25 and I click anywhere in the box and type 40 the input would have 40
  • If the input does not have focus, and the value is 25 and I doubleclick anywhere in the box and type -40 the input would have -40

Edit:
Actually, this behaviour happens in Crop: Rectangle as well, if the first value is something other than 0