View Issue Details

IDProjectCategoryView StatusLast Update
0016202ScribusUndo/Redopublic2020-08-14 06:08
ReporterAMDphreak Assigned Tojghali  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionduplicate 
Product Version1.5.5 
Summary0016202: Undo does not work
DescriptionThe Undo operation shows as available in the Main menu, however, clicking it or using Ctrl Z does nothing. The operations I am attempting to Undo are moving and resizing text frames, which is extremely basic. It may be the case that operations are not being recorded on the Undo stack, including moving and resizing, or there is simply no code executing when the Undo function is called.
Steps To ReproduceCtrl Z
TagsNo tags attached.
PatchNo

Relationships

duplicate of 0011871 new Using bullets in Paragraph Styles cause crash by pressing Ctrl+Z in determined condition 

Activities

jghali

2020-07-30 22:17

administrator   ~0047894

Unable to reproduce, works here.

jghali

2020-07-30 22:20

administrator   ~0047895

Check undo is enabled in File > Preferences > Document Setup > Saving & Undo.

jghali

2020-08-04 19:13

administrator   ~0047899

Closing this issue due to inability to reproduce.

AMDphreak

2020-08-13 23:44

reporter   ~0047926

This bug is more advanced than Undo simply not working. The entire undo system is unstable. In fact in has crashed Scribus twice in the past 24 hours. I lost half a document the first time now I spam Ctrl+S after writing a sentence.

I'll describe the logic I noticed: The undo system will undo some operations while skipping others that were applied afterward. For example, I created a numbered list style and applied it to a line of text. I hit tab after the numbering on the first line. I then click Ctrl+Z and it undoes the list paragraph style, and leaves the tab I inserted. This shows there is a logic error in managing the array indices or perhaps the array itself. Afterward, something caused it to crash, and my programmer instinct says you have an out of bounds pointer.

Do the world a favor--quit using imperative programming for complicated projects. This needs to be rewritten in a language that is more expressive, like Lisp. These pointer bugs are a consequence of the programmer's memory problems and inattention to the state of variables. I'm sure like me you're sick of hunting down weird bugs, so you're doing yourself a favor as well by not using C and C++ for managing stacks and lists.

jghali

2020-08-14 02:45

administrator   ~0047928

>> This bug is more advanced than Undo simply not working. The entire undo system is unstable.

If you had searched the bug tracker for "undo", you would have seen that undo system is indeed incomplete.

>> Do the world a favor--quit using imperative programming for complicated projects. This needs to be rewritten in a language that is more expressive, like Lisp.

This is to say the least *totally* unrealistic given the size of Scribus code and manpower. Currently we are only two-three contributors coding Scribus during our free time. We had the same kind of request a few years ago about rewriting our GUI with wxWidgets.

>> https://youtu.be/yLkbJpZL3mU

You are showing issue 0011871, so this is an already known issue.

jghali

2020-08-14 02:47

administrator   ~0047929

Closing again as latest comments do not bring anything new.

ale

2020-08-14 06:08

manager   ~0047935

hi amdphreak,

lists are an unstable feature. you're welcome to dive into it and help fix the remaining bugs!
(and unstable features are ok in a development branch...)

in my eyes, while you're right in praising lisp, c++ code can also profit from using more functional constructs.
sadly, there are good reasons why there are few to none big GUI desktop apps created with lisp.
so start bringing the good practices to the imperative world! : - )

Issue History

Date Modified Username Field Change
2020-07-30 21:42 AMDphreak New Issue
2020-07-30 22:17 jghali Priority immediate => normal
2020-07-30 22:17 jghali Note Added: 0047894
2020-07-30 22:20 jghali Note Added: 0047895
2020-08-04 19:13 jghali Assigned To => jghali
2020-08-04 19:13 jghali Status new => resolved
2020-08-04 19:13 jghali Resolution open => unable to reproduce
2020-08-04 19:13 jghali Note Added: 0047899
2020-08-04 19:13 jghali Status resolved => closed
2020-08-13 23:44 AMDphreak Status closed => feedback
2020-08-13 23:44 AMDphreak Resolution unable to reproduce => reopened
2020-08-13 23:44 AMDphreak Note Added: 0047926
2020-08-14 00:20 AMDphreak Status feedback => assigned
2020-08-14 02:45 jghali Note Added: 0047928
2020-08-14 02:46 jghali Status assigned => new
2020-08-14 02:47 jghali Status new => resolved
2020-08-14 02:47 jghali Resolution reopened => duplicate
2020-08-14 02:47 jghali Note Added: 0047929
2020-08-14 02:47 jghali Relationship added duplicate of 0011871
2020-08-14 02:47 jghali Status resolved => closed
2020-08-14 06:08 ale Note Added: 0047935