libegg r861 - in trunk: . libegg/toolpalette
- From: hasselmm svn gnome org
- To: svn-commits-list gnome org
- Subject: libegg r861 - in trunk: . libegg/toolpalette
- Date: Fri, 28 Mar 2008 10:27:58 +0000 (GMT)
Author: hasselmm
Date: Fri Mar 28 10:27:58 2008
New Revision: 861
URL: http://svn.gnome.org/viewvc/libegg?rev=861&view=rev
Log:
Avoid those strange rendering artifacts when expanding groups.
* libegg/toolpalette/eggtoolitemgroup.c:
Move gtk_widget_queue_resize_no_redraw() invokation and call
gdk_window_process_updates() in egg_tool_item_group_animation_cb().
* libegg/toolpalette/eggtoolpalette.c: Just an empty line.
Modified:
trunk/ChangeLog
trunk/libegg/toolpalette/eggtoolitemgroup.c
trunk/libegg/toolpalette/eggtoolpalette.c
Modified: trunk/libegg/toolpalette/eggtoolitemgroup.c
==============================================================================
--- trunk/libegg/toolpalette/eggtoolitemgroup.c (original)
+++ trunk/libegg/toolpalette/eggtoolitemgroup.c Fri Mar 28 10:27:58 2008
@@ -743,6 +743,9 @@
EggToolItemGroup *group = EGG_TOOL_ITEM_GROUP (data);
gint64 timestamp = egg_tool_item_group_get_animation_timestamp (group);
+ /* enque this early to reduce number of expose events */
+ gtk_widget_queue_resize_no_redraw (GTK_WIDGET (group));
+
if (GTK_WIDGET_REALIZED (group->priv->header))
{
GtkWidget *alignment = egg_tool_item_group_get_alignment (group);
@@ -794,7 +797,13 @@
if (timestamp >= ANIMATION_DURATION)
group->priv->animation_timeout = NULL;
- gtk_widget_queue_resize_no_redraw (GTK_WIDGET (group));
+ /* Ensure that all composited windows and child windows are repainted, before
+ * the parent widget gets its expose-event. This is needed to avoid heavy
+ * rendering artifacts. GTK+ should take care about this issue by itself I
+ * guess, but currently it doesn't. Also I don't understand the parameters
+ * of this issue well enough yet, to file a bug report.
+ */
+ gdk_window_process_updates (GTK_WIDGET (group)->window, TRUE);
return (group->priv->animation_timeout != NULL);
}
Modified: trunk/libegg/toolpalette/eggtoolpalette.c
==============================================================================
--- trunk/libegg/toolpalette/eggtoolpalette.c (original)
+++ trunk/libegg/toolpalette/eggtoolpalette.c Fri Mar 28 10:27:58 2008
@@ -372,6 +372,7 @@
}
cairo_pop_group_to_source (cr);
+
cairo_paint (cr);
cairo_destroy (cr);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]