Index: apps/plugins/rockpaint.c
===================================================================
RCS file: /cvsroot/rockbox/apps/plugins/rockpaint.c,v
retrieving revision 1.7
diff -u -r1.7 rockpaint.c
--- apps/plugins/rockpaint.c	9 Aug 2006 13:25:43 -0000	1.7
+++ apps/plugins/rockpaint.c	13 Aug 2006 19:56:58 -0000
@@ -2414,8 +2414,13 @@
                 break;
 
             case MAIN_MENU_SAVE:
+                if (!filename[0])
+                    rb->strcpy(filename,"/");
                 if( !rb->kbd_input( filename, MAX_PATH ) )
                 {
+                    if(rb->strlen(filename) <= 4 ||
+                    rb->strcasecmp(&filename[rb->strlen(filename)-4], ".bmp"))
+                        rb->strcat(filename, ".bmp");
                     save_bitmap( filename );
                     rb->splash( 1*HZ, true, "File saved (%s)", filename );
                 }
Index: apps/plugins/text_editor.c
===================================================================
RCS file: /cvsroot/rockbox/apps/plugins/text_editor.c,v
retrieving revision 1.8
diff -u -r1.8 text_editor.c
--- apps/plugins/text_editor.c	3 Aug 2006 20:17:20 -0000	1.8
+++ apps/plugins/text_editor.c	13 Aug 2006 19:56:58 -0000
@@ -17,6 +17,8 @@
  *
  ****************************************************************************/
 #include "plugin.h"
+#include "playback_control.h"
+
 /* button definitions, every keypad must only have select,menu and cancel */
 #if CONFIG_KEYPAD == RECORDER_PAD
 #define TEXT_EDITOR_SELECT BUTTON_PLAY
@@ -221,6 +223,9 @@
     {
         rb->strcpy(filename,"/");
         rb->kbd_input(filename,MAX_PATH);
+        if(rb->strlen(filename) <= 4 ||
+            rb->strcasecmp(&filename[rb->strlen(filename)-4], ".txt"))
+                rb->strcat(filename, ".txt");
     }
 
     fd = rb->open(filename,O_WRONLY|O_CREAT);
@@ -479,6 +484,7 @@
 
                     static const struct menu_item items[] = {
                             { "Return", NULL },
+                            {"Show Playback Menu", NULL },
                             { " ", NULL },
                             { "Save Changes", NULL },
                             { "Save As...", NULL },
@@ -496,20 +502,23 @@
                     {
                         case 0:
                         break;
-                        case 2: //save to disk
+                        case 1: /* playback control */
+                            playback_control(rb);
+                        break;
+                        case 3: //save to disk
                             save_changes(1);
                             changed = 0;
                         break;
-                        case 3:
+                        case 4:
                             save_changes(0);
                             changed = 0;
                         break;
 
-                        case 5:
+                        case 6:
                             save_changes(1);
                             exit=1;
                         break;
-                        case 6:
+                        case 7:
                             exit=1;
                         break;
                     }
