trunk: crash on undo after applying markers (rev >= 13496)

Bug #1357805 reported by Liam P. White on 2014-08-16
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
High
Liam P. White

Bug Description

Unfortunately, trunk r13496 introduced a crash bug: the action of applying markers and then undoing causes a crash.

Previous to 13496, however, another bug existed: applying markers and then undoing would not work the first time but would unexpectedly require one to undo twice.

Tomasz, will you look into this?

Liam P. White (liampwhite) wrote :
su_v (suv-lp) wrote :

Reproduced with recent trunk r13520 on OS X 10.7.5.

(tests with archived builds: ok with r13495, crash with r13497)

Changed in inkscape:
importance: Undecided → High
milestone: none → 0.91
status: New → Confirmed
summary: - trunk: crash on undo after applying markers
+ trunk: crash on undo after applying markers (rev >= 13496)
su_v (suv-lp) wrote :

On 2014-08-16 23:59 , Liam P. White wrote:
> Previous to 13496, however, another bug existed: applying markers
> and then undoing would not work the first time but would
> unexpectedly require one to undo twice.

Related:
- Bug #1198530 "undo: color of a path with marker”
  https://bugs.launchpad.net/inkscape/+bug/1198530

Liam P. White (liampwhite) wrote :

Revision 13496 reverted in trunk (13570).

Might look at this again in the future.

Changed in inkscape:
status: Confirmed → Fix Committed
assignee: nobody → Liam P. White (inkscapebrony)

The crash was caused by trying to call DocumentUndo::maybeDone while performing the undo operation and related document update.

Updating the document by calling SPDocument::_updateDocument or SPDocument::ensureUpToDate causes the refresh of Fill and Stroke dialog and included widgets by means of modified signals of SVG Items. This is the correct behaviour. However, updating the ui controls should not "bounce back" and change the document structure.

MarkerComboBox widget observes the changes to svg:defs element. When the document changes, it regenerates combo item list and sets active element, sending a changed signal. The callback should check if the signal was triggered by document update and return in this case. The attached patch fixes the condition to skip marker select callback.

I did not uncomment doc->_updateDocument() call in DocumentUndo::undo method. See bug #1227193 for details.

su_v (suv-lp) wrote :

Reopening, based on last comment (new patches for bug #1227193, bug #1357805).

Changed in inkscape:
milestone: 0.91 → 0.91.1
status: Fix Committed → Triaged
Liam P. White (liampwhite) wrote :

Fix really committed in r14199

Changed in inkscape:
status: Triaged → Fix Committed
su_v (suv-lp) on 2015-06-10
Changed in inkscape:
milestone: 0.91.1 → 0.92
su_v (suv-lp) on 2015-06-12
tags: added: backport-proposed
su_v (suv-lp) wrote :

Fix backported to 0.91.x in rev 13798.

Changed in inkscape:
milestone: 0.92 → 0.91.1
tags: removed: backport-proposed
Jabiertxof (jabiertxof) wrote :

Not sure if related but I get a crash when convert a marker to path -stroke to paths- undo it and select the marker with the node tool.
It happen in debian stretch and revision 14872

jazzynico (jazzynico) on 2017-01-22
Changed in inkscape:
milestone: 0.91.1 → 0.92
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers