0.47, probably not in the next week

Hey All,
Subject says it all. My family is moving this week and Jon & I will be at Google HQ this weekend for the GSoC Mentor's summit. I will not have a chance to review any patches until I am back early next week. Bulia, if you see any good and safe ones, feel free to wreak havoc. ;)
Honestly, if someone wanted to take a look at the LPE Undo issues (change a param on any LPE and then hit undo). It would probably save us a ton of grief with user complaints if it could be fixed (obviously, only if the issue is not to complex).
Cheers, Josh

Ok I have good news. I found what is causing all the LPE trouble. There is another bug with stacked LPEs that is related. I hope to fix it this weekend.
Cheers, Johan
-----Original Message----- From: Joshua A. Andler [mailto:scislac@...400...] Sent: donderdag 22 oktober 2009 6:17 To: inkscape-devel Cc: bulia byak Subject: [Inkscape-devel] 0.47, probably not in the next week
Hey All,
Subject says it all. My family is moving this week and Jon & I will be at Google HQ this weekend for the GSoC Mentor's summit. I will not have a chance to review any patches until I am back early next week. Bulia, if you see any good and safe ones, feel free to wreak havoc. ;)
Honestly, if someone wanted to take a look at the LPE Undo issues (change a param on any LPE and then hit undo). It would probably save us a ton of grief with user complaints if it could be fixed (obviously, only if the issue is not to complex).
Cheers, Josh
Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

Hi all,
I worked on the problem for quite some hours now, trying to figure out how things work :-(
Try the patch attached; now it is possible to apply an effect, undo, redo, and then the 2nd undo bugs.... It also fixes a bug where Inkscape did not respond to all parameter changes when an LPE stack was applied to a path. This is what I got using gdb: (first i draw a line, then press ctrl+g to group it) * When an effect is applied, sp_document_done is called, after which no changes are written to XML. That's good, and that's why the 1st undo works without a problem.
* The 1st undo works fine too it seems. It writes stuff to XML, and the LPE framework reacts to changing some more in XML. But no more stuff is changed after the sp_document_undo call ends.
* Then the 1st redo. Here stuff gets updated and written to XML by the LPE framework twice. Once during the sp_document_redo call. But also after that call: (gdb) bt #0 0x0047f426 in sp_group_perform_patheffect () <-- this one writes to XML #1 0x0054b6ef in sp_lpe_item_update_patheffect () #2 0x00439b60 in SPObject::emitModified () #3 0x0049505b in sp_defs_modified (object=0x4a6b018, flags=0) at src/sp-defs.cpp:118 #4 0x00439aba in SPObject::emitModified () #5 0x0047e939 in CGroup::onModified () #6 0x0044331a in sp_root_modified () #7 0x00439aba in SPObject::emitModified () #8 0x0043240f in SPDocument::_emitModified () #9 0x004325b1 in SPDocument::_updateDocument () #10 0x00432652 in sp_document_idle_handler () #11 0x685e73d7 in g_main_context_dispatch () from D:\Inkscapetrunk\inkscape\libglib-2.0-0.dll I think, that's where things are starting to go wrong. * The 2nd undo. I get: ** (inkscape.exe:3124): WARNING **: Incomplete undo transaction: ** (inkscape.exe:3124): WARNING **: Event: Set attribute d to "m 202.85714,658.0 .....
If I do undo, redo, undo, while in gdb, I can go on indefinitely. It only bugs outside gdb.
Ciao, Johan
-----Original Message----- From: J.B.C.Engelen@...1578... [mailto:J.B.C.Engelen@...1578...] Sent: zaterdag 24 oktober 2009 2:46 To: scislac@...400...; inkscape-devel@lists.sourceforge.net Cc: buliabyak@...400... Subject: Re: [Inkscape-devel] 0.47, probably not in the next week
Ok I have good news. I found what is causing all the LPE trouble. There is another bug with stacked LPEs that is related. I hope to fix it this weekend.
Cheers, Johan
-----Original Message----- From: Joshua A. Andler [mailto:scislac@...400...] Sent: donderdag 22 oktober 2009 6:17 To: inkscape-devel Cc: bulia byak Subject: [Inkscape-devel] 0.47, probably not in the next week
Hey All,
Subject says it all. My family is moving this week and Jon
& I will be
at Google HQ this weekend for the GSoC Mentor's summit. I will not have a chance to review any patches until I am back early
next week.
Bulia, if you see any good and safe ones, feel free to
wreak havoc. ;)
Honestly, if someone wanted to take a look at the LPE Undo issues (change a param on any LPE and then hit undo). It would
probably save
us a ton of grief with user complaints if it could be fixed (obviously, only if the issue is not to complex).
Cheers, Josh

Hi,
Johan, many thanks for trying to fix this! I haven't tried your patch yet (and don't know if I'll get around to doing it soon), but I have a question regarding this:
If I do undo, redo, undo, while in gdb, I can go on indefinitely. It only bugs outside gdb.
Why is it that some bugs only show up when starting Inkscape from outside gdb? This has driven me mad a couple of times, too. Does anyone have an idea what's different and perhaps even how to avoid this discrepancy in behaviour?
Max

Such behavior often indicates the use of uninitialized memory or other memory access related bugs. I would recommend performing the tests under valgrind if possible.
Cheers, Marcus
Maximilian Albert wrote:
Hi,
Johan, many thanks for trying to fix this! I haven't tried your patch yet (and don't know if I'll get around to doing it soon), but I have a question regarding this:
If I do undo, redo, undo, while in gdb, I can go on indefinitely. It only bugs outside gdb.
Why is it that some bugs only show up when starting Inkscape from outside gdb? This has driven me mad a couple of times, too. Does anyone have an idea what's different and perhaps even how to avoid this discrepancy in behaviour?
Max
Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

On Sat, 2009-10-24 at 19:25 +0200, J.B.C.Engelen@...1578... wrote:
If I do undo, redo, undo, while in gdb, I can go on indefinitely. It only bugs outside gdb.
Hey Johan,
I applied your patch and ran it in Valgrind to see if I could get you any extra info. In the "console-output" file, the very first message, "** Message: lpeobject_ref_modified", was thrown before the UI was even shown... so, obviously, no lpes should have been in there to modify in any way.
Just so you know what was done, opened inkscape, created a rectangle, converted to path (shortcut), copied it (shortcut), pasted a copy in place (shortcut), moved copy (w/ mouse), selected both (shortcut), grouped (shortcut), opened lpe dialog (shortcut), applied bend, bent the line, undo (button), redo (button), undo (button), redo (button), closed inkscape.
I hope this is of use to you (or someone else).
Cheers, Josh

Hi Josh,
Thanks for the help. The icons file contains an icon with a livepatheffect. So I think that triggers the first lpeobject_ref_modified.
Cheers, Johan
-----Original Message----- From: Joshua A. Andler [mailto:scislac@...400...] Sent: Thursday, October 29, 2009 09:09 To: Engelen, J.B.C. (Johan) Cc: mental@...3...; inkscape-devel@lists.sourceforge.net; buliabyak@...400... Subject: RE: [Inkscape-devel] 0.47, probably not in the next week
On Sat, 2009-10-24 at 19:25 +0200, J.B.C.Engelen@...1578... wrote:
If I do undo, redo, undo, while in gdb, I can go on
indefinitely. It
only bugs outside gdb.
Hey Johan,
I applied your patch and ran it in Valgrind to see if I could get you any extra info. In the "console-output" file, the very first message, "** Message: lpeobject_ref_modified", was thrown before the UI was even shown... so, obviously, no lpes should have been in there to modify in any way.
Just so you know what was done, opened inkscape, created a rectangle, converted to path (shortcut), copied it (shortcut), pasted a copy in place (shortcut), moved copy (w/ mouse), selected both (shortcut), grouped (shortcut), opened lpe dialog (shortcut), applied bend, bent the line, undo (button), redo (button), undo (button), redo (button), closed inkscape.
I hope this is of use to you (or someone else).
Cheers, Josh
participants (5)
-
unknown@example.com
-
Alexandre Prokoudine
-
Joshua A. Andler
-
Marcus Brubaker
-
Maximilian Albert