Index: terminal/terminal-screen.c =================================================================== --- terminal/terminal-screen.c (revision 28971) +++ terminal/terminal-screen.c (working copy) @@ -245,7 +245,6 @@ "signal::context-menu", G_CALLBACK (terminal_screen_vte_get_context_menu), screen, "signal::selection-changed", G_CALLBACK (terminal_screen_vte_selection_changed), screen, "signal::window-title-changed", G_CALLBACK (terminal_screen_vte_window_title_changed), screen, - "signal::contents-changed", G_CALLBACK (terminal_screen_vte_window_contents_changed), screen, "swapped-signal::size-allocate", G_CALLBACK (terminal_screen_timer_background), screen, "swapped-signal::style-set", G_CALLBACK (terminal_screen_update_colors), screen, NULL); @@ -314,6 +313,12 @@ terminal_screen_update_scrolling_on_keystroke (screen); terminal_screen_update_word_chars (screen); terminal_screen_timer_background (TERMINAL_SCREEN (screen)); + + /* Last, connect contents-changed to avoid a race with updates above */ + g_object_connect (G_OBJECT (screen->terminal), + "signal::contents-changed", G_CALLBACK (terminal_screen_vte_window_contents_changed), screen, + NULL); + }