I may have found the answer to this. Take a look at the following code.
==================================== comment.c, line 316:
if (!glist->gl_havewindow)
====================================
=================================================== Pd 0.47, g_canvas.h:
struct _glist { t_object gl_obj; /* header in case we're a glist */ t_gobj *gl_list; /* the actual data */ struct _gstub *gl_stub; /* safe pointer handler */ int gl_valid; /* incremented when pointers might be stale */ struct _glist *gl_owner; /* parent glist, supercanvas, or 0 if none */ int gl_pixwidth; /* width in pixels (on parent, if a graph) */ int gl_pixheight; t_float gl_x1; /* bounding rectangle in our own coordinates */ t_float gl_y1; t_float gl_x2; t_float gl_y2; int gl_screenx1; /* screen coordinates when toplevel */ int gl_screeny1; int gl_screenx2; int gl_screeny2; int gl_xmargin; /* origin for GOP rectangle */ int gl_ymargin; t_tick gl_xtick; /* ticks marking X values */ int gl_nxlabels; /* number of X coordinate labels */ t_symbol **gl_xlabel; /* ... an array to hold them */ t_float gl_xlabely; /* ... and their Y coordinates */ t_tick gl_ytick; /* same as above for Y ticks and labels */ int gl_nylabels; t_symbol **gl_ylabel; t_float gl_ylabelx; t_editor *gl_editor; /* editor structure when visible */ t_symbol *gl_name; /* symbol bound here */ int gl_font; /* nominal font size in points, e.g., 10 */
*/
changed */ unsigned int gl_loading:1; /* am now loading from file */ unsigned int gl_willvis:1; /* make me visible after loading */ unsigned int gl_edit:1; /* edit mode */ unsigned int gl_isdeleting:1; /* we're inside glist_delete -- hack! */ unsigned int gl_goprect:1; /* draw rectangle for graph-on-parent */ unsigned int gl_isgraph:1; /* show as graph on parent */ unsigned int gl_hidetext:1; /* hide object-name + args when doing graph on parent */ unsigned int gl_private:1; /* private flag used in x_scalar.c */ unsigned int gl_isclone:1; /* esists as part of a clone object */ }; ===========================================================
The new gl_zoom member comes before a few of the old members, so if you try to load the library in a version it wasn't compiled against, anything after gl_zoom will be garbage (not sure why it works in 0.47 64 bit, but it may be accessing some misaligned bytes that just happen to work out).
The fix will simply be to move the gl_zoom member to the end of the _glist declaration.
Matt
On Sun, May 22, 2016 at 12:23 PM, Alexandre Torres Porres porres@gmail.com wrote:
howdy, [cyclone/comment] from latest available version in deken (0.2 beta-1) works on:
Pd Extended 0.42-5
Pd Vanilla 0.46-7 32 bits Pd Vanilla 0.46-7 64 bits
Pd Vanilla 0.47-0 64 bits
but it does not work on pd 0.47-0 32 bits - simply nothing (no comments) show up
Though I'm working on cyclone, I haven't touched this object yet, I was just testing them all in the new version to see if they load (maybe I'll find more issues?). Anyway, this seems to me more of an issue related to the new pd update than the code itself, potentially affecting other codes/objects. So I'm writing this list to see what we can find that changed in the new version that would collaborate to this.
code attached
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list