diff --git a/src/g_hslider.c b/src/g_hslider.c
index e7e74b753861fb792a4ac4ecffac161e75548b63..b519cea6b37bfbdf5b2516797d8e4b0cc9466f9b 100644
--- a/src/g_hslider.c
+++ b/src/g_hslider.c
@@ -318,6 +318,9 @@ static void hslider_draw_select(t_hslider* x,t_glist* glist)
 	}
 }
 
+void hslider_check_minmax(t_hslider *x, double min, double max);
+void hslider_check_width(t_hslider *x, int w);
+
 static void hslider__clickhook(t_scalehandle *sh, t_floatarg f, t_floatarg xxx, t_floatarg yyy)
 {
 
@@ -361,6 +364,9 @@ static void hslider__clickhook(t_scalehandle *sh, t_floatarg f, t_floatarg xxx,
 			sys_vgui(".gfxstub%lx.dim.h_ent insert 0 %d\n", properties, x->x_gui.x_h);
 		}
 
+	    hslider_check_width(x, x->x_gui.x_w);
+	    hslider_check_minmax(x, x->x_min, x->x_max);
+
 		if (glist_isvisible(x->x_gui.x_glist))
 		{
 			sys_vgui(".x%x.c delete %s\n", x->x_gui.x_glist, sh->h_outlinetag);
diff --git a/src/g_text.c b/src/g_text.c
index 4c1f2ebcfbd1417da15f0fbc5424bf9b148e35f7..0ff6a3980e6c0aa3f06484f6916fabc791319e08 100644
--- a/src/g_text.c
+++ b/src/g_text.c
@@ -183,6 +183,7 @@ void canvas_howputnew(t_canvas *x, int *connectp, int *xpixp, int *ypixp,
             else if (!g->g_next)
                 indx = nobj-1;
         }
+		x->gl_editor->e_onmotion = MA_NONE;
 		sys_vgui("pdtk_canvas_getscroll .x%lx.c\n", x);
     }
     else
diff --git a/src/g_vslider.c b/src/g_vslider.c
index e59bc94bdab26c6c5d86751b717adb4cb1edda40..d4df4c55cbd6ef74bca685af0409b051eddca961 100644
--- a/src/g_vslider.c
+++ b/src/g_vslider.c
@@ -309,6 +309,9 @@ static void vslider_draw_select(t_vslider *x, t_glist *glist)
 	}
 }
 
+void vslider_check_minmax(t_vslider *x, double min, double max);
+void vslider_check_height(t_vslider *x, int w);
+
 static void vslider__clickhook(t_scalehandle *sh, t_floatarg f, t_floatarg xxx, t_floatarg yyy)
 {
 
@@ -343,6 +346,9 @@ static void vslider__clickhook(t_scalehandle *sh, t_floatarg f, t_floatarg xxx,
 			canvas_dirty(x->x_gui.x_glist, 1);
 		}
 
+	    vslider_check_height(x, x->x_gui.x_h);
+	    vslider_check_minmax(x, x->x_min, x->x_max);
+
 		int properties = gfxstub_haveproperties((void *)x);
 
 		if (properties) {
diff --git a/src/m_pd.h b/src/m_pd.h
index e7a0e4d6344eba952cb2285d784ce1873cead9f1..8215fec50029d3afb21c6202f2fc2750bb0da851 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-20110427"
+#define PD_TEST_VERSION "extended-l2ork-20110517"
 
 /* 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 */