diff options
Diffstat (limited to 'packages/patches')
-rw-r--r-- | packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch b/packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch new file mode 100644 index 00000000..1b5f1d6f --- /dev/null +++ b/packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch @@ -0,0 +1,39 @@ +Index: g_canvas.c +=================================================================== +--- g_canvas.c (revision 9910) ++++ g_canvas.c (working copy) +@@ -1133,10 +1133,22 @@ + + /* -------------------------- subcanvases ---------------------- */ + +-static void *subcanvas_new(t_symbol *s) ++static void *subcanvas_new(t_symbol *s, int argc, t_atom *argv) + { + t_atom a[6]; + t_canvas *x, *z = canvas_getcurrent(); ++ if (argc) ++ { ++ int bufsize; ++ char *buf; ++ t_binbuf *bb = binbuf_new(); ++ binbuf_addv(bb, "s", s); ++ binbuf_add(bb, argc, argv); ++ binbuf_gettext(bb, &buf, &bufsize); ++ buf[bufsize] = '\0'; ++ binbuf_free(bb); ++ s = gensym(buf); ++ } + if (!*s->s_name) s = gensym("/SUBPATCH/"); + SETFLOAT(a, 0); + SETFLOAT(a+1, GLIST_DEFCANVASYLOC); +@@ -1750,8 +1762,8 @@ + A_NULL); + + /* ----- subcanvases, which you get by typing "pd" in a box ---- */ +- class_addcreator((t_newmethod)subcanvas_new, gensym("pd"), A_DEFSYMBOL, 0); +- class_addcreator((t_newmethod)subcanvas_new, gensym("page"), A_DEFSYMBOL, 0); ++ class_addcreator((t_newmethod)subcanvas_new, gensym("pd"), A_GIMME, 0); ++ class_addcreator((t_newmethod)subcanvas_new, gensym("page"), A_GIMME, 0); + + class_addmethod(canvas_class, (t_method)canvas_click, + gensym("click"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0); |