textview: Set background on the widget's window

The widget window is usually covered by the bin_window.
Its background color will become relevant when we introduce
kinetic scrolling with overshooting.
This commit is contained in:
Carlos Garnacho 2012-01-12 03:05:54 +01:00 committed by Matthias Clasen
parent 72f86d6bfb
commit 1c45afaf95

View File

@ -3984,12 +3984,10 @@ gtk_text_view_realize (GtkWidget *widget)
GtkTextView *text_view;
GtkTextViewPrivate *priv;
GtkStyleContext *context;
GtkStateFlags state;
GdkWindow *window;
GdkWindowAttr attributes;
gint attributes_mask;
GSList *tmp_list;
GdkRGBA color;
text_view = GTK_TEXT_VIEW (widget);
priv = text_view->priv;
@ -4015,10 +4013,11 @@ gtk_text_view_realize (GtkWidget *widget)
gdk_window_set_user_data (window, widget);
context = gtk_widget_get_style_context (widget);
state = gtk_widget_get_state_flags (widget);
gtk_style_context_get_background_color (context, state, &color);
gdk_window_set_background_rgba (window, &color);
gtk_style_context_save (context);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW);
gtk_style_context_set_background (context, window);
gtk_style_context_restore (context);
text_window_realize (priv->text_window, widget);
@ -4118,16 +4117,14 @@ gtk_text_view_set_background (GtkTextView *text_view)
gtk_style_context_save (context);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW);
gtk_style_context_get_background_color (context, state, &color);
gdk_window_set_background_rgba (priv->text_window->bin_window, &color);
gtk_style_context_set_background (context, priv->text_window->bin_window);
gtk_style_context_set_background (context, gtk_widget_get_window (widget));
gtk_style_context_restore (context);
/* Set lateral panes background */
gtk_style_context_get_background_color (context, state, &color);
gdk_window_set_background_rgba (gtk_widget_get_window (widget), &color);
if (priv->left_window)
gdk_window_set_background_rgba (priv->left_window->bin_window, &color);