[bugs:#1255] comment stopped working on vanila 0.47 32 bits
Status: open
Group: v0.47
Created: Wed Jul 06, 2016 07:50 PM UTC by Anonymous
Last Updated: Wed Jul 06, 2016 07:50 PM UTC
Owner: Miller Puckette
howdy, as I've already reported in an earlier ticket, the new vanilla broke backwards compatibility with cyclone/comment. Matt Barber seems to have found the issue with the new code, on his words:
"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 /
int gl_zoom; / zoom factor (integer zoom-in only) /
struct _glist gl_next; / link in list of toplevels /
t_canvasenvironment gl_env; / root canvases and abstractions only /
unsigned int gl_havewindow:1; / true if we own a window /
unsigned int gl_mapped:1; / true if, moreover, it's "mapped" /
unsigned int gl_dirty:1; / (root canvas only:) patch has 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"
Sent from sourceforge.net because pd-dev@lists.iem.at is subscribed to https://sourceforge.net/p/pure-data/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/pure-data/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.