Index: gtk2_ardour/new_session_dialog.cc
===================================================================
--- gtk2_ardour/new_session_dialog.cc	(revision 1843)
+++ gtk2_ardour/new_session_dialog.cc	(working copy)
@@ -427,7 +427,7 @@
 	m_limit_output_ports->signal_clicked().connect (mem_fun (*this, &NewSessionDialog::limit_outputs_clicked));
 	m_create_master_bus->signal_clicked().connect (mem_fun (*this, &NewSessionDialog::master_bus_button_clicked));
 	m_create_control_bus->signal_clicked().connect (mem_fun (*this, &NewSessionDialog::monitor_bus_button_clicked));
-	m_name->signal_key_release_event().connect(mem_fun (*this, &NewSessionDialog::entry_key_release));
+	m_name->signal_changed().connect(mem_fun (*this, &NewSessionDialog::on_new_session_name_entry_changed));
 	m_notebook->signal_switch_page().connect (mem_fun (*this, &NewSessionDialog::notebook_page_changed));
 	m_treeview->get_selection()->signal_changed().connect (mem_fun (*this, &NewSessionDialog::treeview_selection_changed));
 	m_treeview->signal_row_activated().connect (mem_fun (*this, &NewSessionDialog::recent_row_activated));
@@ -591,8 +591,8 @@
 	
 }
 
-bool
-NewSessionDialog::entry_key_release (GdkEventKey* ev)
+void
+NewSessionDialog::on_new_session_name_entry_changed ()
 {
 	if (m_name->get_text() != "") {
 		set_response_sensitive (Gtk::RESPONSE_OK, true);
@@ -600,7 +600,6 @@
 	} else {
 		set_response_sensitive (Gtk::RESPONSE_OK, false);
 	}
-	return true;
 }
 
 void
Index: gtk2_ardour/new_session_dialog.h
===================================================================
--- gtk2_ardour/new_session_dialog.h	(revision 1843)
+++ gtk2_ardour/new_session_dialog.h	(working copy)
@@ -179,7 +179,7 @@
 		    return cmp_nocase(a.first, b.first) == -1;
 	    }
 	};
-	bool entry_key_release (GdkEventKey*);
+	void on_new_session_name_entry_changed();
 	void notebook_page_changed (GtkNotebookPage*, uint);
 	void treeview_selection_changed ();
 	void file_chosen ();
