gnome-terminal/gnome-terminal-force-terminal-draw.patch

30 lines
857 B
Diff

--- gnome-terminal-2.15.4/src/terminal-window.c
+++ gnome-terminal-2.15.4/src/terminal-window.c
@@ -1428,6 +1428,14 @@
update_copy_sensitivity (window);
}
+static gboolean
+force_terminal_redraw_callback (gpointer user_data)
+{
+ gtk_widget_queue_draw (GTK_WIDGET (user_data));
+ g_object_unref (user_data);
+ return FALSE;
+}
+
void
terminal_window_add_screen (TerminalWindow *window,
TerminalScreen *screen)
@@ -1821,6 +1829,11 @@
/* Make the first-added screen the active one */
if (window->priv->active_term == NULL)
terminal_window_set_active (window, screen);
+
+ /* We have to force a redraw in an idle, since sometimes new terminals
+ in new tabs don't seem to get their initial expose events. */
+ g_object_ref (term);
+ g_idle_add (force_terminal_redraw_callback, term);
}
static void