[gtk+] widget: Remove special case in gtk_widget_queue_draw_area()



commit 206b41c6f67a5381317e273e86119671d7796773
Author: Benjamin Otte <otte redhat com>
Date:   Mon Oct 18 17:34:33 2010 +0200

    widget: Remove special case in gtk_widget_queue_draw_area()
    
    This path would only do anything where widget->window was not located at
    widget->allocation.x/y but at a different position. This should never
    happen in the real world. But if it does, GTK3 will break for you.
    Better fix your widget.

 gtk/gtkwidget.c |   36 ------------------------------------
 1 files changed, 0 insertions(+), 36 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 114aafe..45b335a 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -4287,42 +4287,6 @@ gtk_widget_queue_draw_area (GtkWidget *widget,
     if (!gtk_widget_get_mapped (w))
       return;
 
-  /* Find the correct widget */
-
-  if (gtk_widget_get_has_window (widget))
-    {
-      if (priv->parent)
-	{
-	  /* Translate widget relative to window-relative */
-
-	  gint wx, wy, wwidth, wheight;
-
-	  gdk_window_get_position (priv->window, &wx, &wy);
-	  x -= wx - priv->allocation.x;
-	  y -= wy - priv->allocation.y;
-
-          wwidth = gdk_window_get_width (priv->window);
-          wheight = gdk_window_get_height (priv->window);
-
-	  if (x + width <= 0 || y + height <= 0 ||
-	      x >= wwidth || y >= wheight)
-	    return;
-	  
-	  if (x < 0)
-	    {
-	      width += x;  x = 0;
-	    }
-	  if (y < 0)
-	    {
-	      height += y; y = 0;
-	    }
-	  if (x + width > wwidth)
-	    width = wwidth - x;
-	  if (y + height > wheight)
-	    height = wheight - y;
-	}
-    }
-
   invalid_rect.x = x;
   invalid_rect.y = y;
   invalid_rect.width = width;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]