I grepped through a bunch of externals. Here's a list of what might be affected, arranged by the _glist struct members:


gl_next:
iem/iemguts/src/findbrokenobjects.c:132:    for (c = pd_getcanvaslist(); c; c = c->gl_next) {
moonlib/absolutepath.c:73:    if((!retcan)&&(can->gl_next)) retcan=getcanvas((t_glist *)can->gl_next,d0);
moonlib/relativepath.c:73:    if((!retcan)&&(can->gl_next)) retcan=getcanvas((t_glist *)can->gl_next,d0);

gl_env:
moonlib/absolutepath.c:60:    if((can->gl_env)&&(can->gl_env->ce_dollarzero==d0))
moonlib/absolutepath.c:94:        //post("found $0 canvas : %x %d ",x->x_canvas, x->x_canvas->gl_env->ce_dollarzero );
moonlib/relativepath.c:60:    if((can->gl_env)&&(can->gl_env->ce_dollarzero==d0))
moonlib/relativepath.c:92:        //post("found $0 canvas : %x %d ",x->x_canvas, x->x_canvas->gl_env->ce_dollarzero );
pdp/opengl/system/pdp_3Dcontext_glx.c:43:typedef struct _gl_env
pdp/opengl/system/pdp_3Dcontext_glx.c:56:} t_gl_env;
pdp/opengl/system/pdp_3Dcontext_glx.c:58:static t_gl_env pdp_glx_env;
tof/src/tof.h:44: return (canvas->gl_env != 0);

gl_havewindow:
grill/trunk/flext/source/flattr_ed.cpp:795:    if(!gl->gl_isgraph || gl->gl_havewindow) {
grill/trunk/flext/source/flattr_ed.cpp:828:    if(!gl->gl_isgraph || gl->gl_havewindow) {
miXed/cyclone/hammer/comment.c:343:    if (!glist->gl_havewindow)
miXed/cyclone/hammer/comment.c:491: if (glist->gl_havewindow)
miXed/pddp/pddplink.c:95:    if (glist_isvisible(glist) && glist->gl_havewindow)
miXed/pddp/pddplink.c:120:        if ((glist->gl_havewindow || x->x_isgopvisible)
miXed/pddp/pddplink.c:130:        if ((glist->gl_havewindow || x->x_isgopvisible)
miXed/pddp/pddplink.c:192:    if (glist->gl_havewindow || x->x_isgopvisible)
miXed/toxy/pluswidget.c:142:    if (glist_isvisible(glist) && glist->gl_havewindow)
miXed/toxy/pluswidget.c:172:        if (glist->gl_havewindow)
miXed/toxy/pluswidget.c:183:        if (glist->gl_havewindow)
miXed/toxy/pluswidget.c:195:    if (glist->gl_havewindow)
miXed/toxy/widget.c:966:    if (x->x_glist->gl_havewindow)  /* LATER calculate on-parent coords */
miXed/toxy/widget.c:985:    if (x->x_glist->gl_havewindow)  /* LATER calculate on-parent coords */
pddp/helplink.c:99:    if (glist_isvisible(glist) && glist->gl_havewindow)
pddp/helplink.c:132:        if ((glist->gl_havewindow || x->x_isgopvisible)
pddp/helplink.c:151:        if ((glist->gl_havewindow || x->x_isgopvisible)
pddp/helplink.c:184:    if (glist->gl_havewindow || x->x_isgopvisible)
pddp/pddplink.c:99:    if (glist_isvisible(glist) && glist->gl_havewindow)
pddp/pddplink.c:152:        if ((glist->gl_havewindow || x->x_isgopvisible)
pddp/pddplink.c:180:        if ((glist->gl_havewindow || x->x_isgopvisible)
pddp/pddplink.c:249:    if (glist->gl_havewindow || x->x_isgopvisible)

gl_mapped:
miXed/shared/hammer/file.c:447:    return (f->f_canvas->gl_mapped);

gl_loading:
miXed/shared/hammer/file.c:452:    return (f->f_canvas->gl_loading);
miXed/shared/hammer/file.c:460:    if (!cv->gl_loading)
olafmatt/clone/clone.c:156:    cv->gl_loading = 0;

gl_edit:
bbogart/entry/entry.c:448:    DEBUG(post("entry_click x:%d y:%d edit: %d", xpix, ypix, x->x_canvas->gl_edit););    
bbogart/entry/entry.c:682:    if( (x->x_glist->gl_edit) && (x->x_glist == x->x_canvas) )
ggee/gui/image.c:169:    if ((glist_getcanvas(glist) != glist && !x->x_click) || (!glist->gl_edit && !x->x_click))
miXed/cyclone/hammer/comment.c:238:    if (x->x_glist->gl_edit)
miXed/shared/toxy/scriptlet.c:345:    sprintf(obuf, "%d", cv->gl_edit);
miXed/toxy/widget.c:935:    int disable = (int)f && x->x_glist->gl_edit;
tkwidgets/text.c:355:    DEBUG(post("textwidget_click x:%d y:%d edit: %d", xpix, ypix, x->x_canvas->gl_edit););

gl_isgraph:
grill/trunk/flext/source/flattr_ed.cpp:795:    if(!gl->gl_isgraph || gl->gl_havewindow) {
grill/trunk/flext/source/flattr_ed.cpp:828:    if(!gl->gl_isgraph || gl->gl_havewindow) {
moonlib/mknob.c:135:    if (!glist->gl_isgraph || glist_istoplevel(glist))
moonlib/mknob.c:243:    if (!glist->gl_isgraph || glist_istoplevel(glist))

On Fri, Jul 1, 2016 at 9:55 AM, Matt Barber <brbrofsvl@gmail.com> wrote:
You're right, sorry. I was remembering this bit of code in moonlib/mknob.c, which accesses gl_isgraph:


    /* GOP objects are unable to call findrtext triggering consistency check error */
    t_rtext *yyyy = NULL;
    if (!glist->gl_isgraph || glist_istoplevel(glist))
        yyyy = glist_findrtext(canvas, (t_text *)&ob->ob_g);

    /* on GOP we cause segfault as apparently text_gettag() returns bogus data */
    char *nlet_tag;
    if (yyyy) nlet_tag = rtext_gettag(yyyy);
    else nlet_tag = "bogus";


On Fri, Jul 1, 2016 at 5:11 AM, IOhannes m zmölnig <zmoelnig@iem.at> wrote:
On 07/01/2016 04:34 AM, Matt Barber wrote:
> This may also fix the moonlib knob problem.

which moonlib/knob problem?
the only problem i'm aware of was that the "iemgui_all_colfromload" went
missing in 0.47-0 (and made a re-appearance in 0.47-1).
but this is unrelated to struct-members.

gfmsadr
IOhannes


_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list