See patch below:
#N canvas 111 0 695 678 12;
#N canvas 65 310 371 134 box 0;
#X obj 4 5 struct box float y array n nested;
#X obj 5 65 filledpolygon 900 0 1 -5 5 5 5 5 -5 -5 -5;
#X obj 5 35 plot n 0 1 60 0 15;
#X restore 6 38 pd box;
#N canvas 0 0 394 94 nested 0;
#X obj 3 5 struct nested float y;
#X obj 4 41 filledpolygon 90 0 1 -5 5 5 5 5 -5 -5 -5;
#X restore 6 8 pd nested;
#N canvas 456 238 450 300 graph 0;
#X obj 8 55 plot g 0 1 0 0 15;
#X obj 8 9 struct graph float x float y array g box symbol before symbol
after;
#X obj 10 149 drawpolygon 0 1 -15 0 -20 0 -20 150 -15 150;
#X obj 9 91 drawsymbol before -30 -40 0 1._;
#X obj 9 121 drawsymbol after -30 180 0 2._;
#X restore 7 66 pd graph;
#N canvas 0 0 670 300 datawin 1;
#X restore 236 101 pd datawin;
#X msg 340 237 traverse pd-datawin \, bang;
#X obj 340 268 pointer;
#X obj 244 311 append graph x y;
#X msg 340 191 \; pd-datawin clear;
#X msg 244 271 50 50;
#X obj 7 103 loadbang;
#X obj 7 466 set -symbol graph after before;
#X text 194 100 >>>;
#X text 336 99 <<<;
#X msg 7 400 symbol Move_the_red_one_here_and_the_green_can_no_longer_be_clicked_or_dragged
;
#X msg 28 338 symbol Element_(red)_and_nested_element_(green)_can_be_clicked_and_dragged
;
#X obj 7 133 t b b b b b;
#X connect 4 0 5 0;
#X connect 5 0 6 2;
#X connect 6 0 10 2;
#X connect 8 0 6 0;
#X connect 9 0 15 0;
#X connect 13 0 10 0;
#X connect 14 0 10 1;
#X connect 15 0 13 0;
#X connect 15 1 8 0;
#X connect 15 1 14 0;
#X connect 15 2 4 0;
#X connect 15 3 7 0;
Anonymous
I'm not a C programmer and I don't even know where I can find the pd code relative to this bug.
This is quite frustrating because I noticed that nested elements can still be moved: their hotspot is just twice too far as they shoud be, relative to the "parent" datastructure coordinates. It is the same for elements having an additional x coordinate.
This nasty factor 2 shouldn't be too hard to fix, provided anybody knows where it hides in the code...