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

Bug #1357805 reported by Liam P. White
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
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?

Revision history for this message
Liam P. White (liampwhite) wrote :
Revision history for this message
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)
Revision history for this message
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

Revision history for this message
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)
Revision history for this message
Tomasz Boczkowski (penginsbacon) wrote :

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.

Revision history for this message
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
Revision history for this message
Liam P. White (liampwhite) wrote :

Fix really committed in r14199

Changed in inkscape:
status: Triaged → Fix Committed
su_v (suv-lp)
Changed in inkscape:
milestone: 0.91.1 → 0.92
su_v (suv-lp)
tags: added: backport-proposed
Revision history for this message
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
Revision history for this message
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)
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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