<p dir="ltr">Did you make sure to emerge all the patches from the g_text.c? There in the stable branch I check if the object is changed and only reinstantiate it under specific circumstances. For instance, if it has changed it is reinstantiated, or if it was never successfully created in the first place the system tries to instantiate it no matter what. If you reinstantiate it through this process without having to do so and do not create an an undo checkpoint, that could produce the kind of inconsistency you are experiencing.</p>
<p dir="ltr">-- <br>
Ivica Ico Bukvic, D.M.A.<br>
Associate Professor<br>
Computer Music<br>
ICAT Senior Fellow<br>
Director -- DISIS, L2Ork<br>
Virginia Tech<br>
School of Performing Arts – 0141<br>
Blacksburg, VA 24061<br>
(540) 231-6139<br>
<a href="mailto:ico@vt.edu">ico@vt.edu</a><br>
<a href="http://www.performingarts.vt.edu">www.performingarts.vt.edu</a><br>
<a href="http://disis.icat.vt.edu">disis.icat.vt.edu</a><br>
<a href="http://l2ork.icat.vt.edu">l2ork.icat.vt.edu</a><br>
<a href="http://ico.bukvic.net">ico.bukvic.net</a></p>
<div class="gmail_quote">On Jun 22, 2016 23:50, "Jonathan Wilkes" <<a href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"><div>Ok, I can't figure out a process to find the undo bug that Ivica reported.  <br></div><div dir="ltr">If I click an object on a canvas to activate it then immediately click an <br></div><div dir="ltr">empty part of the canvas to deactivate it, purr data is somehow mutating <br></div><div dir="ltr">the glist by reordering that object in the list.<br></div><div><br></div><div dir="ltr">Say I have three objects on a canvas.  I click one of them in edit mode <br></div><div dir="ltr">to activate it.  Then I click an empty part of the canvas to retext it.</div><div dir="ltr"><br></div><div dir="ltr">Code path is something like this:</div><div dir="ltr">GUI sends "mouse/mouseup" message</div><div dir="ltr">canvas_doclick calls gobj_activate for the object</div><div dir="ltr">text_activate calls rtext_activate</div><div dir="ltr">rtext_activate calls gui_vmess("gui_textarea", ...)</div><div dir="ltr"><br></div><div dir="ltr">To retext (i.e., deselect and try to instantiate):</div><div dir="ltr">GUI sends "obj_addtobuf" and "obj_buftotext"</div><div dir="ltr">canvas_buftotext calls rtext_settext to set the new box text</div><div dir="ltr">GUI sends a "mouse" message on empty part of canvas</div><div dir="ltr">canvas_doclick calls glist_deselect</div><div dir="ltr">glist_deselect calls text_setto</div><div dir="ltr">text_setto calls rtext_retext (because the object text hasn't changed)</div><div dir="ltr"><br></div><div dir="ltr">Yet in all of that, somehow the relevant object's position in the glist <br></div><div dir="ltr">is changing?  Where is the mutation to the glist happening?</div><div dir="ltr"><br></div><div dir="ltr">Thanks,</div><div dir="ltr">Jonathan<br></div><div class="elided-text"><div dir="ltr">    <br></div><br><div><br><br></div><div style="display:block"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"><font face="Arial" size="2"> On Wednesday, June 22, 2016 7:16 PM, Albert Graef <<a href="mailto:aggraef@gmail.com" target="_blank">aggraef@gmail.com</a>> wrote:<br></font></div>  <br><br> <div><div><div><div dir="ltr"><div><div>On Thu, Jun 23, 2016 at 12:23 AM, Jonathan Wilkes <span dir="ltr"><<a rel="nofollow" shape="rect" href="mailto:jancsika@yahoo.com" target="_blank">jancsika@yahoo.com</a>></span> wrote:<br clear="none"><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Wow, that was quick!  Does this mean I can drop manually building the <br clear="none"></div><div>Manjaro binary and just leave it to the arch packaging system?</div></blockquote></div><br clear="none"></div><div>You still have to run makepkg to build the package on your Manjaro system, but the PKGBUILD of course takes care of all the messy details. Basically, you just do the following:<br clear="none"><br clear="none"></div><div>yaourt -G purr-data-git<br clear="none"></div><div>cd purr-data-git<br clear="none"></div><div>makepkg<br clear="none"></div><div><br clear="none"></div><div>When that is done, you should have a purr-data-git-*.tar.xz package ready to be installed with  pacman.<br clear="none"><br clear="none"></div><div>Note that the binary package still depends on some AUR packages (flite1, libsndobj-git, tkpng and xapian-tcl-bindings), so ppl will have to install those beforehand.<br clear="none"><br clear="none">I have all the AUR dependencies listed above in my binary Pure repository at <a rel="nofollow" shape="rect" href="http://pureaur.bitbucket.org/" target="_blank">http://pureaur.bitbucket.org</a>. I can also offer purr-data-git package there, just let me know (pd-l2ork is already available there as a binary package as well).</div><div><div><br clear="none">-- <br clear="none"><div><div dir="ltr">Dr. Albert Gr"af<br clear="none">Computer Music Research Group, JGU Mainz, Germany<br clear="none">Email:  <a rel="nofollow" shape="rect" href="mailto:aggraef@gmail.com" target="_blank">aggraef@gmail.com</a><br clear="none">WWW:    <a rel="nofollow" shape="rect" href="https://plus.google.com/+AlbertGraef" target="_blank">https://plus.google.com/+AlbertGraef</a></div></div>
</div></div></div></div></div><br><br></div>  </div> </div>  </div></div></div></div><br>_______________________________________________<br>
L2Ork-dev mailing list<br>
<a href="mailto:L2Ork-dev@disis.music.vt.edu">L2Ork-dev@disis.music.vt.edu</a><br>
<a href="http://disis.music.vt.edu/listinfo/l2ork-dev" rel="noreferrer" target="_blank">http://disis.music.vt.edu/listinfo/l2ork-dev</a><br></blockquote></div>