From e065dfeb36810dd72e4767c3fb661f10f5d383d3 Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@vt.edu>
Date: Fri, 17 Dec 2010 02:54:00 -0500
Subject: [PATCH] Pd-0.42.5-extended-l2ork-dev-20101216.tar.bz2

---
 src/g_editor.c | 7 +++++--
 src/m_pd.h     | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/g_editor.c b/src/g_editor.c
index b548255c0..d0859f6a8 100644
--- a/src/g_editor.c
+++ b/src/g_editor.c
@@ -885,7 +885,9 @@ static void *canvas_undo_set_apply(t_canvas *x, t_gobj *obj)
     t_gobj *y;
     t_linetraverser t;
     t_outconnect *oc;
-	/* select the object we are working on */
+	/* enable editor (in case it is disabled) and select the object we are working on */
+	if (!x->gl_edit)
+		canvas_editmode(x, 1);
 	if (!glist_isselected(x, obj))
 		glist_select(x, obj);
     int nnotsel= glist_selectionindex(x, 0, 0); /* get number of all items for the offset below */
@@ -1393,7 +1395,8 @@ static void canvas_done_popup(t_canvas *x, t_float which, t_float xpos, t_float
 				else {
 					if (!x->gl_edit)
 						canvas_editmode(x, 1);
-					glist_select(x, y);
+					if (!glist_isselected(x, y))
+						glist_select(x, y);
                 	(*class_getpropertiesfn(pd_class(&y->g_pd)))(y, x);
 				}
                 return;
diff --git a/src/m_pd.h b/src/m_pd.h
index 04f15bcf2..5b1848e6a 100644
--- a/src/m_pd.h
+++ b/src/m_pd.h
@@ -11,7 +11,7 @@ extern "C" {
 #define PD_MAJOR_VERSION 0
 #define PD_MINOR_VERSION 42
 #define PD_BUGFIX_VERSION 5
-#define PD_TEST_VERSION "extended-l2ork-20101215"
+#define PD_TEST_VERSION "extended-l2ork-20101216"
 
 /* old name for "MSW" flag -- we have to take it for the sake of many old
 "nmakefiles" for externs, which will define NT and not MSW */
-- 
GitLab