Forum

Save-as of sub-patch doesn't mark parent patch as changed

fixed-for-45beta30.2

#1

I’m seeing some odd behavior that I didn’t notice before. If I do a “save-as” of a sub-patch, the containing patch shows the new node name, but is not marked as modified (*). If I then exit, I am not prompted to save the containing patch and vvvv closes. As a result, the next time I load that patch it references the old sub-patch.

I tested this with b27.2 back to b23 and it works the same. This seems very counter-intuitive and I’m now wondering how many times this has caused problems in the past. Is there some logic for why it works this way, or is this a bug? Since the containing patch has actually changed to reference the new node name, it sure seems like a bug. I could swear this used to work like I expected! This is on Win7 x64, I’ll check it on XP x32.


#2

Same behavior on XP x32. Doesn’t matter if I change the name of the sub-patch or where it is located in the save-as, the parent patch remains unchanged although it shows the new correct name/path when hovering over the sub-patch node.

This has just got to be an error. Devvvvs?


#3

Can ANYONE verify this behavior?


#4

Yes,

just done, and it works on xp32 as you say.

This is what I’ve done:
-I created a patch and then a few nodes, then saved it as “callmenames”.
-I then created a subpatch and cut\pasted there those nodes and saved it as “callmenames2”
-I then created some pins on subpatch “callmenames2” and saved as “callmenames2a”
-Then I closed\restarted vvvv

This is XML of “callmenames”:

<!DOCTYPE PATCH  SYSTEM "[versions/vvvv45beta27.2.dtd"](https://vvvv.org/versions/vvvv45beta27.2.dtd") >
   <PATCH nodename="D:\...\vvvv_45beta27.2\Nuova cartella\callmenames.v4p" systemname="callmenames" filename="D:\...\vvvv_45beta27.2\Nuova cartella\callmenames.v4p">
   <BOUNDS type="Window" left="4185" top="6060" width="9000" height="6000">
   </BOUNDS>
   <NODE systemname="0.v4p ////" filename="0.v4p ////" componentmode="InAWindow" id="3">
   <BOUNDS type="Node" left="2415" top="735" width="100" height="100">
   </BOUNDS>
   <BOUNDS type="Box" left="2415" top="735" width="4800" height="3600">
   </BOUNDS>
   <BOUNDS type="Window" left="2415" top="735" width="9000" height="6000">
   </BOUNDS>
   </NODE>
   </PATCH>

Where one can see that vvvv seeks for “0.v4p”

I tried then with changing default “callmenames” into “PPatch” and “SPatch” and doing same steps. Now patch seems fine, but look at this: vvvv docked default 0.v4p patch and “PPatch” (lovvvve software) and + node it’s “larger” than normal (I quit\restart vvvv a few times, but fat + is still there).

Here’s “PPatch” XML:

<!DOCTYPE PATCH  SYSTEM "[versions/vvvv45beta27.2.dtd"](https://vvvv.org/versions/vvvv45beta27.2.dtd") >
   <PATCH nodename="D:\...\vvvv_45beta27.2\Nuova cartella\example2\PPAtch.v4p" systemname="PPAtch" filename="D:\...\vvvv_45beta27.2\Nuova cartella\PPAtch.v4p">
   <BOUNDS type="Window" left="2730" top="3210" width="9000" height="6000">
   </BOUNDS>
   <NODE systemname="SPatch_2" filename="%VVVV%\Nuova cartella\SPatch_2.v4p" componentmode="InAWindow" id="1" nodename="%VVVV%\Nuova cartella\SPatch_2.v4p">
   <BOUNDS type="Node" left="1500" top="3030" width="100" height="100">
   </BOUNDS>
   <BOUNDS type="Box" left="1500" top="3030" width="4800" height="3600">
   </BOUNDS>
   <BOUNDS type="Window" left="2145" top="6885" width="9000" height="6000">
   </BOUNDS>
   </NODE>
   </PATCH>

The point here is that actually that “SPatch_2” does not lie in
%VVVV%*Nuova cartella*\SPatch_2.v4p
but in
%VVVV%*Nuova cartella\example2*\SPatch_2.v4p
and I modified and saved the patch after moving it from “Nuova cartella” to “example2”.


Exceptions when starting vvvv from root.v4p
#5

@mediadog: true, definitely a bug.
@h99: not sure if i can follow. seems to me you’re describing a different problem than mediadog?!


#6

@joreg
I understand; (I should also have written something like
-Then I closed, without being prompted to save parentpatch and restarted vvvv
…my fault.)

In first example, that xml code should point to “callmenames2a.vp4” (and not “0.v4p”) since that was current subpatch; so I’d say this is on the same path mediadog described.

I know: how parentpatch would know about any subpatch if not saved? Most probable thing is that I naively saved, somewhere between second and third step, parentpatch too.
But
*if I saved it before “saving as” subpatch, we get bug evidence, since I ain’t prompted to save parentpatch again
*if I saved it after “saving as” subpatch, we get (another?) bug evidence, since it points to default 0.v4p patch. Anyway after “saving as” 2nd time subpatch, again no prompting to save parentpatch.

In the second example, I can say I faced this automatic docking behavior (as prev posted TTY: Corrupt link-message in Patch: .....v4p ViewNodes not found! and fat nodes all the morning. I started vvvv with /showexceptions and /logstartup many times, getting nothing back. After some restarts and unregister, now everything seems turned back to normality.
I posted this anyway here as I thought that would be derived from issue mediadog reported.

Thank you


#7

should be fixed