[PD] glist issue. Was: [cyclone/comment] stopped working on pd 0.47-0 32 bits

Fred Jan Kraan fjkraan at xs4all.nl
Sat Jul 2 10:12:57 CEST 2016


On 2016-07-01 10:21 PM, Matt Barber wrote:

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

Not all of these are in the later versions of pd-extended. Some time ago 
I made a list of what is in Sourceforge and part of pd-extended,
mainly to get an overview of the used build systems and dependencies.

Libraries prefixed with a '+' were part of the latest pd-extended, those 
with a '-' were discontinued.
See https://puredata.info/dev/pd_webwiki/ExternalsInventory.

At least for the objects that depend on tof.h there is no problem with 
Pd 0.47.0 on Linux 32 bits. But these are not GUI objects.

Fred Jan
>
>
> 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 at gmail.com
> <mailto:brbrofsvl at 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 at iem.at
>     <mailto:zmoelnig at 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 at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>         UNSUBSCRIBE and account-management ->
>         https://lists.puredata.info/listinfo/pd-list
>
>
>
>
>
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>



More information about the Pd-list mailing list