[Gimp-developer] Rectangle selection tool - fixes and more

Hi everyone!

First of all, I wanted to thank you all for this amazing product that is
I'm using it for ages now, and I did not find better so far.
And I'm not just talking about features, but also about code quality.
Big thank you to everyone involved in this project.

I recently updated to to 2.10, and unfortunately, the 2 bugs bothering me
were still there. So, I decided to have a look at it.
The 2 bugs are impacting the rectangle selection tool. Also, they tend to
be reproduced way easier on Windows than Linux (I don't do Mac, sorry).

First bug is a rounding issues when using a fixed-proportion selection.
It can be reproduced by selecting a zone of an image, moving the selection,
and resizing it.
Sometimes, due to half-pixel position of the upper-left corner of the
selection, you end-up with a inconsistency between the expect proportion
and actual selection size.
1000*1000 -> 1260*1261, for instance.
I couldn't find anything about a similar issue in the bug tracker.

The second bug is a bit more annoying. Sometimes, when manually changing
the dimensions of a selection zone, GIMP become unresponsive.
Windows then kindly ask to kill it. I was only able to reproduce this issue
on Windows.
The behavior kind of match the description of this issue
For what I understood of the way it's implemented, it can be also due to
rounding positions/size, and the notify feature of gobject.
Value changed -> do some work (because rounding) -> notify value change
(because rounding) -> repeat.

I noticed a TODO in the code of the rectangle selection tool, about
changing the internal representation of the selection zone from gdouble
((x1, y1), (x2, y2)) to gint (x1, y1) + width & height.
So, that's basically what I did. Since then, I'm not able to reproduce
either of the bugs.

I couldn't find information on the gimp wiki on how to send a patch for
review, so I'm asking here: what should I do with it?
Should I send it here, by email? Should I push a branch somewhere?
Something else?

Samuel Rats

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]