[PD-cvs] SF.net SVN: pure-data:[10477] trunk/pd

millerpuckette at users.sourceforge.net millerpuckette at users.sourceforge.net
Tue Jan 6 20:36:43 CET 2009


Revision: 10477
          http://pure-data.svn.sourceforge.net/pure-data/?rev=10477&view=rev
Author:   millerpuckette
Date:     2009-01-06 19:36:42 +0000 (Tue, 06 Jan 2009)

Log Message:
-----------
0.42-2 (bug fixes)

Modified Paths:
--------------
    trunk/pd/doc/1.manual/x5.htm
    trunk/pd/src/g_editor.c
    trunk/pd/src/g_text.c
    trunk/pd/src/m_pd.h
    trunk/pd/src/t_tkcmd.c
    trunk/pd/src/u_main.tk

Modified: trunk/pd/doc/1.manual/x5.htm
===================================================================
--- trunk/pd/doc/1.manual/x5.htm	2009-01-06 18:08:40 UTC (rev 10476)
+++ trunk/pd/doc/1.manual/x5.htm	2009-01-06 19:36:42 UTC (rev 10477)
@@ -20,6 +20,14 @@
 
 <H3> <A name="s2"> 5.1. release notes </A> </H3>
 
+<P> ------------------ 0.42.1 ---------------------------
+
+<P> Bug fix on Windows(cancelling window close deactivated window).
+
+<P> Bug fix running Pd from command line in MacOS.
+
+<P> "Select all" fixed to select none if everything already slected.
+
 <P> ------------------ 0.42 ---------------------------
 
 <P> The 'struct' object can now be used to catch a small but growing variety of

Modified: trunk/pd/src/g_editor.c
===================================================================
--- trunk/pd/src/g_editor.c	2009-01-06 18:08:40 UTC (rev 10476)
+++ trunk/pd/src/g_editor.c	2009-01-06 19:36:42 UTC (rev 10477)
@@ -1864,8 +1864,7 @@
         return;
     }
     if (f == 0 && sys_perf)
-        sys_vgui("pdtk_check .x%lx {really quit?} {pd quit;\n} yes\n",
-            canvas_getrootfor(g2));
+        sys_vgui("pdtk_check . {really quit?} {pd quit;\n} yes\n");
     else glob_quit(0);
 }
 
@@ -2363,7 +2362,10 @@
     t_gobj *y;
     if (!x->gl_edit)
         canvas_editmode(x, 1);
-    for (y = x->gl_list; y; y = y->g_next)
+            /* if everyone is already selected deselect everyone */
+    if (!glist_selectionindex(x, 0, 0))
+        glist_noselect(x);
+    else for (y = x->gl_list; y; y = y->g_next)
     {
         if (!glist_isselected(x, y))
             glist_select(x, y);

Modified: trunk/pd/src/g_text.c
===================================================================
--- trunk/pd/src/g_text.c	2009-01-06 18:08:40 UTC (rev 10476)
+++ trunk/pd/src/g_text.c	2009-01-06 19:36:42 UTC (rev 10477)
@@ -136,23 +136,39 @@
 static void canvas_howputnew(t_canvas *x, int *connectp, int *xpixp, int *ypixp,
     int *indexp, int *totalp)
 {
-    int xpix, ypix, indx = 0, nobj = 0, x1, x2, y1, y2;
+    int xpix, ypix, indx = 0, nobj = 0, n2, x1, x2, y1, y2;
     int connectme = (x->gl_editor->e_selection &&
         !x->gl_editor->e_selection->sel_next);
     if (connectme)
     {
-        t_gobj *g;
+        t_gobj *g, *selected = x->gl_editor->e_selection->sel_what;
         for (g = x->gl_list, nobj = 0; g; g = g->g_next, nobj++)
-            if (g == x->gl_editor->e_selection->sel_what)
+            if (g == selected)
         {
             gobj_getrect(g, x, &x1, &y1, &x2, &y2);
             indx = nobj;
             *xpixp = x1;
             *ypixp = y2 + 5;
         }
+        glist_noselect(x);
+            /* search back for 'selected' and if it isn't on the list, 
+                plan just to connect from the last item on the list. */
+        for (g = x->gl_list, n2 = 0; g; g = g->g_next, n2++)
+        {
+            if (g == selected)
+            {
+                indx = n2;
+                break;
+            }
+            else if (!g->g_next)
+                indx = nobj-1;
+        }
     }
-    else glist_getnextxy(x, xpixp, ypixp);
-    glist_noselect(x);
+    else
+    {
+        glist_getnextxy(x, xpixp, ypixp);
+        glist_noselect(x);
+    }
     *connectp = connectme;
     *indexp = indx;
     *totalp = nobj;

Modified: trunk/pd/src/m_pd.h
===================================================================
--- trunk/pd/src/m_pd.h	2009-01-06 18:08:40 UTC (rev 10476)
+++ trunk/pd/src/m_pd.h	2009-01-06 19:36:42 UTC (rev 10477)
@@ -10,7 +10,7 @@
 
 #define PD_MAJOR_VERSION 0
 #define PD_MINOR_VERSION 42
-#define PD_BUGFIX_VERSION 1
+#define PD_BUGFIX_VERSION 2
 #define PD_TEST_VERSION ""
 
 /* old name for "MSW" flag -- we have to take it for the sake of many old

Modified: trunk/pd/src/t_tkcmd.c
===================================================================
--- trunk/pd/src/t_tkcmd.c	2009-01-06 18:08:40 UTC (rev 10476)
+++ trunk/pd/src/t_tkcmd.c	2009-01-06 19:36:42 UTC (rev 10477)
@@ -333,7 +333,7 @@
 
 #ifdef STARTGUI
 
-#define DEBUGCONNECT
+/* #define DEBUGCONNECT */
 
 #ifdef DEBUGCONNECT
 static FILE *debugfd;
@@ -621,12 +621,26 @@
     int portno = 0, i;
     if (argv)
     {
+            /* search for arg of form "-guiport %d"; if so we're the
+            child. For some reason, the second version is too stringent
+            a test on MSW so the first, incorrect one, is conditionally
+            used. */
+#ifdef MSW
         for (i = 0; i < (int)strlen(argv) - 1; i++)
             if (argv[i] >= '0' && argv[i] <= '9')
         {
             portno = atoi(argv+i);
             break;
         }
+#else
+        for (i = 0; i < (int)strlen(argv) - 3; i++)
+            if (argv[i] == ' ' &&
+                argv[i+1] >= '0' && argv[i+1] <= '9')
+        {
+            portno = atoi(argv+i+1);
+            break;
+        }
+#endif
     }
     if (portno)
         pdgui_setsock(portno);

Modified: trunk/pd/src/u_main.tk
===================================================================
--- trunk/pd/src/u_main.tk	2009-01-06 18:08:40 UTC (rev 10476)
+++ trunk/pd/src/u_main.tk	2009-01-06 19:36:42 UTC (rev 10477)
@@ -283,8 +283,14 @@
 
 ##### routine to ask user if OK and, if so, send a message on to Pd ######
 proc pdtk_check {canvas x message default} {
-    set answer [tk_messageBox -message $x -type yesno -default $default \
-        -parent $canvas -icon question]
+    global pd_nt
+    if {$pd_nt == 1} {
+        set answer [tk_messageBox -message $x -type yesno -default $default \
+            -icon question]
+    } else {
+        set answer [tk_messageBox -message $x -type yesno -default $default \
+            -parent $canvas -icon question]
+    }    
     if {! [string compare $answer yes]}  {pd $message}
 }
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list