Guides origin initially not rendered if guides hidden on load

Bug #1634472 reported by su_v
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Triaged
Low
Unassigned

Bug Description

If guides had been created in an earlier session and the document was saved with the guides hidden, the guides' anchors/origins are not rendered in the next session until each guide has been actively hovered with the select tool.

Guides with missing anchor/origin cause an artifact (a small rectangular knot with blue outline) to be rendered at the page's origin (bottom left). This artifact only disappears once _all_ existing guides have been individually hovered (highlighted) with the select tool.

Snapping to the guide origin is not affected: it works as expected if the user can guess (or remember) the approximate location of the invisible guide origin.

AFAICT forcing the origin to be rendered as expected is only possible within certain tool contexts (e.g. select tool, node tool). Drawing tools OTOH cannot 'highlight' a guide by hovering it, thus requiring the user to cancel an on-going drawing operation and switch tools first if the visual indicator of a guide's origin is required to position a shape or path precisely.

Steps to reproduce:
1) launch inkscape (0.92.x or trunk)
2) create a guide
3) hide guides (click once on ruler)
4) save document
5) close and reopen the document (or use 'File > Revert')
6) click on ruler to show guides

--> the guide line is rendered, the anchor (origin) is missing.

7) hover the guide with select tool

--> the guide's anchor (origin) is rendered visible with a small red circle, and the artifact at the page origin disappears.

Reproduced with Inkscape lp:inkscape/0.92.x r15116 and lp:inkscape r15036 on OS X 10.7.5.

Based on tests with archived trunk builds:
- not reproduced with lp:inkscape rev <= 14584,
- reproduced with lp:inkscape rev <= 14594;
the rendering regression was likely exposed with the changes in commits rev 14592/14593 (related to bug #1526701):
https://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/changes/14594

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

The origins of the guides in the attached document form a regular polygon. The pattern can only be discovered after having actively hovered each individual guide to reveal its origin.

Revision history for this message
Alvin Penner (apenner) wrote :

confirmed on Windows 10, Inkscape 0.92pre1 15110, 32 bit exe build
from https://inkscape.org/en/~theAdib/galleries/inkscape-092/

Changed in inkscape:
status: New → Confirmed
Revision history for this message
jazzynico (jazzynico) wrote :

Also reproduced on Xubuntu 16.04, lp:inkscape rev. 15260.

Changed in inkscape:
importance: Undecided → Low
milestone: none → 0.93
status: Confirmed → Triaged
Revision history for this message
jazzynico (jazzynico) wrote :

Some debugging details. It seems that the original guide is not correctly updated when showing the guides:

src/display/guideline.cpp(223) sp_guideline_new:id=05898130, typename=SPGuideLine
src/display/guideline.cpp(172) sp_guideline_update:id=05898130, typename=SPGuideLine

-> When opening the file, the existing guide is created and updated, but not rendered (as expected).

src/display/guideline.cpp(223) sp_guideline_new:id=05898248, typename=SPGuideLine
src/display/guideline.cpp(172) sp_guideline_update:id=05898248, typename=SPGuideLine
src/display/guideline.cpp(75) sp_guideline_destroy:id=05898248, typename=SPGuideLine
src/display/guideline.cpp(94) sp_guideline_render:id=05898130, typename=SPGuideLine

-> When showing the guides, a new guide is created, updated, and immediately destroyed. Then the original guide is rendered (with no origin).

src/display/guideline.cpp(172) sp_guideline_update:id=05898130, typename=SPGuideLine
src/display/guideline.cpp(94) sp_guideline_render:id=05898130, typename=SPGuideLine

When hovering the guide, it is updated and correctly rendered with its origin.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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