if (!HasFlag(wxNO_BORDER))
             gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW(m_widget), GTK_SHADOW_IN );
+            
+        GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
 #else
         // create our control ...
         m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
     else
 #endif
     {
-    gtk_signal_connect( GTK_OBJECT(m_text), "changed",
-       GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
+        gtk_signal_connect( GTK_OBJECT(m_text), "changed",
+            GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
     }
 
     // we don't set a valid background colour, because the window
         GtkTextIter end;
         gtk_text_buffer_get_end_iter(text_buffer,&end );
         gchar *text = gtk_text_buffer_get_text(text_buffer,&line,&end,TRUE);
-        wxString result(text);
+        wxString result(wxGTK_CONV_BACK(text));
         g_free(text);
         return result.BeforeFirst(wxT('\n'));
 #endif