[maemo-commits] [maemo-commits] r19151 - in projects/haf/trunk/gtk+: . gdk gdk/x11 gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Aug 19 14:24:45 EEST 2009
- Previous message: [maemo-commits] r19150 - projects/haf/trunk/libmatchbox2/debian
- Next message: [maemo-commits] r19152 - projects/haf/tags/gtk+
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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);
- Previous message: [maemo-commits] r19150 - projects/haf/trunk/libmatchbox2/debian
- Next message: [maemo-commits] r19152 - projects/haf/tags/gtk+
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]