From bb54339000b503d8e50649ebbab0e5a1657d6183 Mon Sep 17 00:00:00 2001
From: Jonathan Wilkes <jancsika@yahoo.com>
Date: Fri, 17 Apr 2015 13:51:24 -0400
Subject: [PATCH] redraw outlet at correct y position

---
 pd/nw/pdgui.js  | 5 +++--
 pd/src/g_text.c | 8 ++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index 74fa58cea..9a3fee245 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -1924,7 +1924,7 @@ function gui_canvas_drawio(cid, parenttag, tag, x1, y1, x2, y2, basex, basey, ty
     gui_post("the tag for this XLET is " + tag);
 }
 
-function gui_canvas_redraw_io(cid, parenttag, tag, x, type, i, basex) {
+function gui_canvas_redraw_io(cid, parenttag, tag, x, y, type, i, basex, basey) {
     var xlet = get_item(cid, tag + type + i); 
     // We have to check for null. Here's why...
     // if you create a gatom:
@@ -1933,8 +1933,9 @@ function gui_canvas_redraw_io(cid, parenttag, tag, x, type, i, basex) {
     //       text_drawborder (firsttime=0) -> glist_drawiofor (firsttime=0)
     // This means that a new gatom tries to redraw its inlets before
     // it has created them.
+    gui_post("y is " + (y - basey));
     if (xlet !== null) {
-        configure_item(xlet, { x: x - basex});
+        configure_item(xlet, { x: x - basex, y: y - basey });
     }
 }
 
diff --git a/pd/src/g_text.c b/pd/src/g_text.c
index c7c1aeb73..941afff2e 100644
--- a/pd/src/g_text.c
+++ b/pd/src/g_text.c
@@ -1946,9 +1946,9 @@ void glist_drawiofor(t_glist *glist, t_object *ob, int firsttime,
                          i);*/
                 // end jsarlo
 
-            gui_vmess("gui_canvas_redraw_io", "sssisii",
+            gui_vmess("gui_canvas_redraw_io", "sssiisiii",
                 canvas_tag(glist_getcanvas(glist)), rtext_gettag(y), tag,
-                onset, "o", i, x1);
+                onset, y2 - 2, "o", i, x1, y1);
         }
     }
     n = obj_ninlets(ob);
@@ -1990,9 +1990,9 @@ void glist_drawiofor(t_glist *glist, t_object *ob, int firsttime,
                          i);*/
                 // end jsarlo
 
-            gui_vmess("gui_canvas_redraw_io", "sssisii",
+            gui_vmess("gui_canvas_redraw_io", "sssiisiii",
                 canvas_tag(glist_getcanvas(glist)), rtext_gettag(y), tag,
-                onset, "i", i, x1);
+                onset, y1, "i", i, x1, y1);
         }
     }
 }
-- 
GitLab