]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkscrolledwindow.c
scrolledwindow: set GDK_EXPOSURE_MASK on the overshoot window
[~andy/gtk] / gtk / gtkscrolledwindow.c
index a18c4cf2b5a9dadee980f6b337ff634690a9fa1a..7929863a0258483ccb21e06e96e26b6a2dfe3497 100644 (file)
@@ -274,9 +274,6 @@ static void  gtk_scrolled_window_realize               (GtkWidget           *wid
 static void  gtk_scrolled_window_unrealize             (GtkWidget           *widget);
 static void  gtk_scrolled_window_map                   (GtkWidget           *widget);
 static void  gtk_scrolled_window_unmap                 (GtkWidget           *widget);
-static void  gtk_scrolled_window_state_flags_changed   (GtkWidget           *widget,
-                                                        GtkStateFlags        previous_state);
-static void  gtk_scrolled_window_style_updated         (GtkWidget           *widget);
 
 static void  gtk_scrolled_window_grab_notify           (GtkWidget           *widget,
                                                         gboolean             was_grabbed);
@@ -352,8 +349,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
   widget_class->unrealize = gtk_scrolled_window_unrealize;
   widget_class->map = gtk_scrolled_window_map;
   widget_class->unmap = gtk_scrolled_window_unmap;
-  widget_class->state_flags_changed = gtk_scrolled_window_state_flags_changed;
-  widget_class->style_updated = gtk_scrolled_window_style_updated;
   widget_class->grab_notify = gtk_scrolled_window_grab_notify;
 
   container_class->add = gtk_scrolled_window_add;
@@ -3379,14 +3374,13 @@ gtk_scrolled_window_realize (GtkWidget *widget)
   attributes.wclass = GDK_INPUT_OUTPUT;
   attributes.visual = gtk_widget_get_visual (widget);
   attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK |
-    GDK_BUTTON_MOTION_MASK | GDK_TOUCH_MASK;
+    GDK_BUTTON_MOTION_MASK | GDK_TOUCH_MASK | GDK_EXPOSURE_MASK;
 
   attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
 
   scrolled_window->priv->overshoot_window =
     gdk_window_new (gtk_widget_get_parent_window (widget),
                     &attributes, attributes_mask);
-
   gdk_window_set_user_data (scrolled_window->priv->overshoot_window, widget);
 
   child_widget = gtk_bin_get_child (GTK_BIN (widget));
@@ -3432,37 +3426,6 @@ gtk_scrolled_window_unmap (GtkWidget *widget)
   GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->unmap (widget);
 }
 
-static void
-_gtk_scrolled_window_update_background (GtkScrolledWindow *scrolled_window)
-{
-  GtkWidget *widget = GTK_WIDGET (scrolled_window);
-
-  if (gtk_widget_get_realized (widget))
-    {
-      GtkStyleContext *context;
-
-      context = gtk_widget_get_style_context (widget);
-      gtk_style_context_set_background (context, scrolled_window->priv->overshoot_window);
-    }
-}
-
-static void
-gtk_scrolled_window_state_flags_changed (GtkWidget     *widget,
-                                         GtkStateFlags  previous_state)
-{
-  _gtk_scrolled_window_update_background (GTK_SCROLLED_WINDOW (widget));
-  gtk_widget_queue_draw (widget);
-}
-
-static void
-gtk_scrolled_window_style_updated (GtkWidget *widget)
-{
-  GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->style_updated (widget);
-
-  _gtk_scrolled_window_update_background (GTK_SCROLLED_WINDOW (widget));
-  gtk_widget_queue_draw (widget);
-}
-
 static void
 gtk_scrolled_window_grab_notify (GtkWidget *widget,
                                  gboolean   was_grabbed)