[PD-dev] [pure-data:bugs] #1255 comment stopped working on vanila 0.47 32 bits

Ticket 1255 1255 at bugs.pure-data.p.re.sf.net
Wed Jul 6 21:50:29 CEST 2016




---

** [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 at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20160706/4f2ca0f7/attachment.html>


More information about the Pd-dev mailing list