 +        _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `terminal_screen_changed'.\n");
 +        g_signal_emit(m_terminal, signals[SIGNAL_TERMINAL_SCREEN_CHANGED], 0, screen);
 +}
-+
+ 
  /* Some common functions */
  
- /* In Xterm, upon printing a character in the last column the cursor doesn't
-@@ -402,6 +410,9 @@ void
+@@ -446,6 +453,9 @@ void
  VteTerminalPrivate::switch_normal_screen()
  {
          switch_screen(&m_normal_screen);
 +
 +        /* Emit signal */
-+        emit_terminal_screen_changed(0);
++        emit_terminal_screen_changed(0);        
  }
  
  void
-@@ -434,6 +445,9 @@ void
+@@ -478,6 +488,9 @@ void
  VteTerminalPrivate::switch_alternate_screen()
  {
          switch_screen(&m_alternate_screen);

         VteTerminalClassPrivate *priv;
 };
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index ab472fb4..363d5a5e 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -739,6 +739,8 @@ vte_terminal_class_init(VteTerminalClass *klass)

diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
index 4e2896cf..16795eaa 100644
--- a/src/vte/vteterminal.h
+++ b/src/vte/vteterminal.h
@@ -104,8 +104,10 @@ struct _VteTerminalClass {
 
 	void (*bell)(VteTerminal* terminal);
 
+        void (*terminal_screen_changed)(VteTerminal* terminal);
+
         /* Padding for future expansion. */
-        gpointer padding[16];
