[maemo-commits] [maemo-commits] r19151 - in projects/haf/trunk/gtk+: . gdk gdk/x11 gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Aug 19 14:24:45 EEST 2009
Author: herzi
Date: 2009-08-19 14:23:56 +0300 (Wed, 19 Aug 2009)
New Revision: 19151

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gdk/gdkwindow.c
   projects/haf/trunk/gtk+/gdk/gdkwindow.h
   projects/haf/trunk/gtk+/gdk/x11/gdkcolor-x11.c
   projects/haf/trunk/gtk+/gdk/x11/gdkvisual-x11.c
   projects/haf/trunk/gtk+/gtk/gtktextview.c
   projects/haf/trunk/gtk+/gtk/gtktreeview.c
Log:
2009-08-19  Sven Herzberg  <herzi at lanedo.com>

	Revert the whole RGBA stuff

	* gdk/gdkwindow.c (gdk_window_new),
	(gdk_window_begin_paint_region), (gdk_window_end_paint),
	(gdk_window_process_all_updates), (gdk_window_process_updates),
	(gdk_window_invalidate_maybe_recurse),
	(gdk_window_get_update_area), (_gdk_window_clear_update_area):
	* gdk/gdkwindow.h:
	* gdk/x11/gdkcolor-x11.c (gdk_screen_get_system_colormap):
	* gdk/x11/gdkvisual-x11.c (_gdk_visual_init):
	* gtk/gtktextview.c (gtk_text_view_realize):
	* gtk/gtktreeview.c (gtk_tree_view_realize),
	(gtk_tree_view_bin_expose): revert!


Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2009-08-19 10:30:02 UTC (rev 19150)
+++ projects/haf/trunk/gtk+/ChangeLog	2009-08-19 11:23:56 UTC (rev 19151)
@@ -1,3 +1,19 @@
+2009-08-19  Sven Herzberg  <herzi at lanedo.com>
+
+	Revert the whole RGBA stuff
+
+	* gdk/gdkwindow.c (gdk_window_new),
+	(gdk_window_begin_paint_region), (gdk_window_end_paint),
+	(gdk_window_process_all_updates), (gdk_window_process_updates),
+	(gdk_window_invalidate_maybe_recurse),
+	(gdk_window_get_update_area), (_gdk_window_clear_update_area):
+	* gdk/gdkwindow.h:
+	* gdk/x11/gdkcolor-x11.c (gdk_screen_get_system_colormap):
+	* gdk/x11/gdkvisual-x11.c (_gdk_visual_init):
+	* gtk/gtktextview.c (gtk_text_view_realize):
+	* gtk/gtktreeview.c (gtk_tree_view_realize),
+	(gtk_tree_view_bin_expose): revert!
+
 2009-08-17  Alberto Garcia  <agarcia at igalia.com>
 
 	About: NB#131431 (gdk_flush in sapwood is causing tearing)

Modified: projects/haf/trunk/gtk+/gdk/gdkwindow.c
===================================================================
--- projects/haf/trunk/gtk+/gdk/gdkwindow.c	2009-08-19 10:30:02 UTC (rev 19150)
+++ projects/haf/trunk/gtk+/gdk/gdkwindow.c	2009-08-19 11:23:56 UTC (rev 19151)
@@ -381,18 +381,7 @@
       private = GDK_WINDOW_OBJECT (window);
       private->redirect = parent_private->redirect;
     }
-
-#ifdef MAEMO_CHANGES
-  /* auto-enable compositing for these widgets */
-  if (attributes->window_type == GDK_WINDOW_CHILD &&
-      attributes->wclass != GDK_INPUT_ONLY &&
-      gdk_drawable_get_depth (window) == 32)
-    {
-      gdk_window_set_composited (window, TRUE);
-      gdk_window_set_auto_composite (window, TRUE);
-    }
-#endif
-
+  
   return window;
 }
 
@@ -1147,18 +1136,6 @@
 		    MAX (clip_box.width, 1), MAX (clip_box.height, 1), -1);
 
   paint->surface = _gdk_drawable_ref_cairo_surface (paint->pixmap);
-#ifdef MAEMO_CHANGES
-  if (gdk_drawable_get_depth (paint->pixmap) == 32)
-    {
-      cairo_t* cr = gdk_cairo_create (paint->pixmap);
-      cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-      cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);
-      gdk_cairo_region (cr, paint->region);
-      cairo_clip (cr);
-      cairo_paint (cr);
-      cairo_destroy (cr);
-    }
-#endif
   cairo_surface_set_device_offset (paint->surface,
 				   - paint->x_offset, - paint->y_offset);
   
@@ -1177,19 +1154,6 @@
 				     clip_box.x, clip_box.y,
 				     clip_box.width, clip_box.height);
     }
-
-#ifdef MAEMO_CHANGES
-  if (gdk_drawable_get_depth (window) == 32)
-    {
-      cairo_t* cr = gdk_cairo_create (window);
-      cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-      cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);
-      gdk_cairo_region (cr, region);
-      cairo_clip (cr);
-      cairo_paint (cr);
-      cairo_destroy (cr);
-    }
-#endif
 #endif /* USE_BACKING_STORE */
 }
 
@@ -1214,10 +1178,6 @@
   GdkWindowObject *composited;
   GdkWindowPaint *paint;
   GdkGC *tmp_gc;
-#ifdef MAEMO_CHANGES
-  cairo_t *cr;
-  GList *subwindow;
-#endif
   GdkRectangle clip_box;
   gint x_offset, y_offset;
 
@@ -1266,69 +1226,15 @@
       GdkWindowClipData data;
       
       setup_redirect_clip (window, tmp_gc, &data);
-#ifndef MAEMO_CHANGES
       gdk_draw_drawable (private->redirect->pixmap, tmp_gc, paint->pixmap,
 			 clip_box.x - paint->x_offset,
 			 clip_box.y - paint->y_offset,
 			 clip_box.x + data.x_offset,
 			 clip_box.y + data.y_offset,
 			 clip_box.width, clip_box.height);
-#else
-      cairo_t* cr = gdk_cairo_create (private->redirect->pixmap);
-      cairo_rectangle (cr,
-                       clip_box.x + data.x_offset,
-                       clip_box.y + data.y_offset,
-                       clip_box.width, clip_box.height);
-      gdk_cairo_set_source_pixmap (cr, paint->pixmap,
-                                   clip_box.x - paint->x_offset,
-                                   clip_box.y - paint->y_offset);
-      cairo_fill (cr);
-      cairo_destroy (cr);
-#endif
       reset_redirect_clip (window, tmp_gc, &data);
     }
-
-#ifdef MAEMO_CHANGES
-#if 1
-  /* this is the code that works */
-  cr = gdk_cairo_create (window);
-  for (subwindow = gdk_window_peek_children (window);
-       subwindow;
-       subwindow = subwindow->next)
-    {
-      int x, y, w, h;
-
-      if (!gdk_window_get_auto_composite (subwindow->data))
-        continue;
-
-      gdk_window_get_position (subwindow->data,
-                               &x, &y);
-      gdk_window_get_size (subwindow->data, &w, &h);
-
-      cairo_save (cr);
-      gdk_cairo_set_source_pixmap (cr, subwindow->data, x, y);
-      cairo_rectangle (cr, x, y, w, h);
-      cairo_fill (cr);
-      cairo_restore (cr);
-    }
-  cairo_destroy (cr);
-#else
-  /* and this is the code that should be working according to timj */
-  if (gdk_window_get_auto_composite (window))
-    {
-      int x, y, w, h;
-
-      cr = gdk_cairo_create (gdk_window_get_parent (window));
-      gdk_window_get_position (window, &x, &y);
-      gdk_window_get_size     (window, &w, &h);
-      gdk_cairo_set_source_pixmap (cr, window, x, y);
-      cairo_rectangle (cr, x, y, w, h);
-      cairo_fill (cr);
-      cairo_destroy (cr);
-    }
-#endif
-#endif
-
+  
   /* Reset clip region of the cached GdkGC */
   gdk_gc_set_clip_region (tmp_gc, NULL);
 
@@ -1337,7 +1243,6 @@
   gdk_region_destroy (paint->region);
   g_free (paint);
 
-#ifndef MAEMO_CHANGES
   /* find a composited window in our hierarchy to signal its
    * parent to redraw, calculating the clip box as we go...
    *
@@ -1365,7 +1270,6 @@
 	  break;
 	}
     }
-#endif
 #endif /* USE_BACKING_STORE */
 }
 
@@ -2599,102 +2503,6 @@
 static guint update_idle = 0;
 static gboolean debug_updates = FALSE;
 
-static inline gboolean
-gdk_window_is_ancestor (GdkWindow *window,
-                        GdkWindow *ancestor)
-{
-  while (window)
-    {
-      GdkWindow *parent = (GdkWindow*) ((GdkWindowObject*) window)->parent;
-
-      if (parent == ancestor)
-        return TRUE;
-
-      window = parent;
-    }
-
-  return FALSE;
-}
-
-static void
-gdk_window_add_update_window (GdkWindow *window)
-{
-  GSList *tmp;
-  GSList *prev = NULL;
-  gboolean has_ancestor_in_list = FALSE;
-
-  for (tmp = update_windows; tmp; tmp = tmp->next)
-    {
-      GdkWindowObject *parent = GDK_WINDOW_OBJECT (window)->parent;
-
-      /*  check if tmp is an ancestor of "window"; if it is, set a
-       *  flag indicating that all following windows are either
-       *  children of "window" or from a differen hierarchy
-       */
-      if (!has_ancestor_in_list && gdk_window_is_ancestor (window, tmp->data))
-        has_ancestor_in_list = TRUE;
-
-      /* insert in reverse stacking order when adding around siblings,
-       * so processing updates properly paints over lower stacked windows
-       */
-      if (parent == GDK_WINDOW_OBJECT (tmp->data)->parent)
-        {
-          gint index = g_list_index (parent->children, window);
-          for (; tmp && parent == GDK_WINDOW_OBJECT (tmp->data)->parent; tmp = tmp->next)
-            {
-              gint sibling_index = g_list_index (parent->children, tmp->data);
-              if (index > sibling_index)
-                break;
-              prev = tmp;
-            }
-          /* here, tmp got advanced past all lower stacked siblings */
-          tmp = g_slist_prepend (tmp, window);
-          if (prev)
-            prev->next = tmp;
-          else
-            update_windows = tmp;
-          return;
-        }
-
-      /*  if "window" has an ancestor in the list and tmp is one of
-       *  "window's" children, insert "window" before tmp
-       */
-      if (has_ancestor_in_list && gdk_window_is_ancestor (tmp->data, window))
-        {
-          tmp = g_slist_prepend (tmp, window);
-
-          if (prev)
-            prev->next = tmp;
-          else
-            update_windows = tmp;
-          return;
-        }
-
-      /*  if we're at the end of the list and had an ancestor it it,
-       *  append to the list
-       */
-      if (! tmp->next && has_ancestor_in_list)
-        {
-          tmp = g_slist_append (tmp, window);
-          return;
-        }
-
-      prev = tmp;
-    }
-
-  /*  if all above checks failed ("window" is from a different
-   *  hierarchy than what is already in the list) or the list is
-   *  empty, prepend
-   */
-  update_windows = g_slist_prepend (update_windows, window);
-}
-
-static void
-gdk_window_remove_update_window (GdkWindow *window)
-{
-  update_windows = g_slist_remove (update_windows, window);
-}
-
 static gboolean
 gdk_window_update_idle (gpointer data)
 {
@@ -2852,7 +2660,7 @@
         {
 	  if (private->update_freeze_count ||
 	      gdk_window_is_toplevel_frozen (tmp_list->data))
-            gdk_window_add_update_window (GDK_WINDOW (private));
+	    update_windows = g_slist_prepend (update_windows, private);
 	  else
 	    gdk_window_process_updates_internal (tmp_list->data);
 	}
@@ -2905,7 +2713,7 @@
       !gdk_window_is_toplevel_frozen (window))
     {      
       gdk_window_process_updates_internal (window);
-      gdk_window_remove_update_window (window);
+      update_windows = g_slist_remove (update_windows, window);
     }
 
   if (update_children)
@@ -3109,7 +2917,7 @@
 	}
       else
 	{
-          gdk_window_add_update_window (window);
+	  update_windows = g_slist_prepend (update_windows, window);
 	  private->update_area = gdk_region_copy (visible_region);
 	  
 	  gdk_window_schedule_update (window);
@@ -3188,8 +2996,8 @@
       tmp_region = private->update_area;
       private->update_area = NULL;
 
-      gdk_window_remove_update_window (window);
-
+      update_windows = g_slist_remove (update_windows, window);
+      
       return tmp_region;
     }
   else
@@ -3213,7 +3021,7 @@
 
   if (private->update_area)
     {
-      gdk_window_remove_update_window (window);
+      update_windows = g_slist_remove (update_windows, window);
       
       gdk_region_destroy (private->update_area);
       private->update_area = NULL;
@@ -4321,41 +4129,6 @@
   return GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_static_gravities (window, use_static);
 }
 
-#ifdef MAEMO_CHANGES
-gboolean
-gdk_window_get_auto_composite (GdkWindow *window)
-{
-  GdkWindowObject *private = (GdkWindowObject *)window;
-
-  g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
-
-  return private->auto_composite;
-}
-
-void
-gdk_window_set_auto_composite (GdkWindow *window,
-                               gboolean   auto_composite)
-{
-  GdkWindowObject *private = (GdkWindowObject *)window;
-
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  auto_composite = auto_composite != FALSE;
-
-  if (private->auto_composite == auto_composite)
-    return;
-
-  if (!private->composited && auto_composite)
-    {
-      g_warning ("gdk_window_set_auto_composite called but "
-                 "window is not composited");
-      return;
-    }
-
-  private->auto_composite = auto_composite;
-}
-#endif
-
 /**
  * gdk_window_set_composited:
  * @window: a #GdkWindow

Modified: projects/haf/trunk/gtk+/gdk/gdkwindow.h
===================================================================
--- projects/haf/trunk/gtk+/gdk/gdkwindow.h	2009-08-19 10:30:02 UTC (rev 19150)
+++ projects/haf/trunk/gtk+/gdk/gdkwindow.h	2009-08-19 11:23:56 UTC (rev 19151)
@@ -301,10 +301,7 @@
   guint accept_focus : 1;
   guint focus_on_map : 1;
   guint shaped : 1;
-#ifdef MAEMO_CHANGES
-  guint auto_composite : 1;
-#endif
-
+  
   GdkEventMask event_mask;
 
   guint update_and_descendants_freeze_count;
@@ -407,11 +404,6 @@
  */
 void gdk_window_set_child_shapes (GdkWindow *window);
 
-#ifdef MAEMO_CHANGES
-void     gdk_window_set_auto_composite (GdkWindow *window,
-                                        gboolean   auto_composite);
-gboolean gdk_window_get_auto_composite (GdkWindow *window);
-#endif
 void gdk_window_set_composited   (GdkWindow *window,
                                   gboolean   composited);
 

Modified: projects/haf/trunk/gtk+/gdk/x11/gdkcolor-x11.c
===================================================================
--- projects/haf/trunk/gtk+/gdk/x11/gdkcolor-x11.c	2009-08-19 10:30:02 UTC (rev 19150)
+++ projects/haf/trunk/gtk+/gdk/x11/gdkcolor-x11.c	2009-08-19 11:23:56 UTC (rev 19151)
@@ -358,12 +358,8 @@
 GdkColormap *
 gdk_screen_get_system_colormap (GdkScreen *screen)
 {
-#ifdef MAEMO_CHANGES
-  GdkVisual *visual;
-#else
   GdkColormap *colormap = NULL;
   GdkColormapPrivateX11 *private;
-#endif
   GdkScreenX11 *screen_x11;
 
   g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
@@ -372,12 +368,6 @@
   if (screen_x11->system_colormap)
     return screen_x11->system_colormap;
 
-#ifdef MAEMO_CHANGES
-  visual = GDK_VISUAL (screen_x11->system_visual);
-  screen_x11->system_colormap = gdk_colormap_new (visual, FALSE);
-
-  return screen_x11->system_colormap;
-#else
   colormap = g_object_new (GDK_TYPE_COLORMAP, NULL);
   private = GDK_COLORMAP_PRIVATE_DATA (colormap);
 
@@ -416,7 +406,6 @@
   screen_x11->system_colormap = colormap;
   
   return colormap;
-#endif
 }
 
 /**

Modified: projects/haf/trunk/gtk+/gdk/x11/gdkvisual-x11.c
===================================================================
--- projects/haf/trunk/gtk+/gdk/x11/gdkvisual-x11.c	2009-08-19 10:30:02 UTC (rev 19150)
+++ projects/haf/trunk/gtk+/gdk/x11/gdkvisual-x11.c	2009-08-19 11:23:56 UTC (rev 19151)
@@ -259,10 +259,6 @@
 	   visuals[i]->visual.blue_mask  == 0x0000ff))
 	{
 	  screen_x11->rgba_visual = GDK_VISUAL (visuals[i]);
-#ifdef MAEMO_CHANGES
-          screen_x11->system_visual = visuals[i];
-          break;
-#endif
 	}
     }
 

Modified: projects/haf/trunk/gtk+/gtk/gtktextview.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtktextview.c	2009-08-19 10:30:02 UTC (rev 19150)
+++ projects/haf/trunk/gtk+/gtk/gtktextview.c	2009-08-19 11:23:56 UTC (rev 19151)
@@ -3900,13 +3900,8 @@
   attributes.width = widget->allocation.width;
   attributes.height = widget->allocation.height;
   attributes.wclass = GDK_INPUT_OUTPUT;
-#ifdef MAEMO_CHANGES
-  attributes.colormap = gdk_screen_get_rgb_colormap (gtk_widget_get_screen (widget));
-  attributes.visual = gdk_colormap_get_visual (attributes.colormap);
-#else
   attributes.visual = gtk_widget_get_visual (widget);
   attributes.colormap = gtk_widget_get_colormap (widget);
-#endif
   attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK | GDK_EXPOSURE_MASK;
 
   attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;

Modified: projects/haf/trunk/gtk+/gtk/gtktreeview.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtktreeview.c	2009-08-19 10:30:02 UTC (rev 19150)
+++ projects/haf/trunk/gtk+/gtk/gtktreeview.c	2009-08-19 11:23:56 UTC (rev 19151)
@@ -2075,9 +2075,6 @@
   attributes.visual = gtk_widget_get_visual (widget);
   attributes.colormap = gtk_widget_get_colormap (widget);
   attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK;
-#ifdef MAEMO_CHANGES
-  attributes.event_mask |= GDK_EXPOSURE_MASK;
-#endif
 
   attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
 
@@ -5098,12 +5095,6 @@
   gint expose_start;
   gboolean render_checkboxes = FALSE;
   HildonMode mode;
-
-  if (event->window == widget->window)
-    {
-      /* don't actually expose the window; we just added exposure for the composition to work */
-      return FALSE;
-    }
 #endif /* MAEMO_CHANGES */
 
   rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL);

More information about the maemo-commits mailing list