Focus issues with new gradient (and swatch) manager in Fill&Stroke (trunk)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
Medium
|
John Smith |
Bug Description
The list of available gradients (or custom swatches) in the 'Fill & Stroke' dialog appears to require an extra click to receive mouse focus. If the user does not take this into account e.g. after having changed the current selection on-canvas (current mouse focus is on-canvas, not in Fill&Stroke), the first mouse click on a gradient in list moves mouse focus to the list and auto-selects the first (top-most) item in the list instead of the one the user clicked on.
This is confusing and not transparent to the user, especially if the list of gradients is long, and can cause the impression of data loss (a currently used gradient might get unreferenced (and auto-cleaned) prematurely without the user seeing the actually intentioned result).
Workaround: each time after having changed the current selection on-canvas, click first on the highlighted gradient in the list of gradients (makes sure to have the mouse focus on the list), and only then click on the intentioned other gradient to switch the current fill (or stroke) to.
Steps to reproduce:
0) reset Inkscape's preferences to default
1) open attached drawing in current trunk
2) open Fill & Stroke dialog
3) select the rectangle with the blue gradient fill in the
upper right corner
4) change its gradient to the one labeled 'cyan' by clicking on the
color swatch (or gradient name) right below the current highlighted
one (labeled with 'blue') in the gradient manager list displayed
in Fill & Stroke
Expected result:
The gradient fill of the rectangle is changed to use the cyan gradient.
Actual result:
The gradient fill of the selected rectangle changes to a red reversed gradient (the top-most one in the gradient manager list of Fill&Stroke after the initial loading of the document in the current session).
The gradient list is scrolled to the top to show the now selected entry ('red_reversed'), and the gradient the user actually clicked on ('cyan') has scrolled out-of-sight.
The original gradient 'blue' disappears from the list (auto-cleaned, because no longer referenced), and a casual user initially has no idea what has happened.
Reproduced with Inkscape 0.48+devel r11806 on OS X 10.7.4 with
- GTK2/X11 2.24.13, gtkmm 2.24.2, glib 2.32.4
- GTK+/Quartz 3.6.1, gtkmm 3.5.13, glib 2.34.1
Changed in inkscape: | |
milestone: | 0.49 → none |
Not reproduced with Inkscape 0.48+devel r11806 on Ubuntu 12.10 (Unity), installed in VirtualBox.
I wonder what makes this issue OS-specific (apparently independent of the backend used for GTK+)?