rpms/eel2/devel eel-2.23.92-fade.patch, 1.2, 1.3 eel2.spec, 1.101, 1.102

Ray Strode rstrode at fedoraproject.org
Wed Oct 1 17:00:10 UTC 2008


Author: rstrode

Update of /cvs/pkgs/rpms/eel2/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27511

Modified Files:
	eel-2.23.92-fade.patch eel2.spec 
Log Message:
- When a crossfade is in progress and another is requested,
  don't cancel the first but instead just change the
  pixmap that's getting faded to.  Might help with a flicker
  problem Matthias is encountering


eel-2.23.92-fade.patch:

Index: eel-2.23.92-fade.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eel2/devel/eel-2.23.92-fade.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- eel-2.23.92-fade.patch	22 Sep 2008 14:35:26 -0000	1.2
+++ eel-2.23.92-fade.patch	1 Oct 2008 16:59:39 -0000	1.3
@@ -1,6 +1,6 @@
 diff -up eel-2.23.92/eel/eel-background.c.fade eel-2.23.92/eel/eel-background.c
 --- eel-2.23.92/eel/eel-background.c.fade	2008-09-08 17:26:14.000000000 -0400
-+++ eel-2.23.92/eel/eel-background.c	2008-09-22 10:27:36.000000000 -0400
++++ eel-2.23.92/eel/eel-background.c	2008-10-01 12:42:41.000000000 -0400
 @@ -43,6 +43,9 @@
  #include <stdio.h>
  #define GNOME_DESKTOP_USE_UNSTABLE_API
@@ -31,7 +31,7 @@
  	eel_background_remove_current_image (background);
  
  	if (background->details->background_pixmap != NULL) {
-@@ -610,6 +619,25 @@ eel_background_reset (EelBackground *bac
+@@ -610,6 +619,26 @@ eel_background_reset (EelBackground *bac
  	g_signal_emit (GTK_OBJECT (background), signals[RESET], 0);
  }
  
@@ -49,7 +49,8 @@
 +		return FALSE;
 +	}
 +
-+	gnome_bg_crossfade_start (background->details->fade, window, NULL);
++	if (!gnome_bg_crossfade_is_started (background->details->fade))
++		gnome_bg_crossfade_start (background->details->fade, window, NULL);
 +
 +	return gnome_bg_crossfade_is_started (background->details->fade);
 +}
@@ -57,7 +58,7 @@
  static void
  eel_background_set_up_widget (EelBackground *background, GtkWidget *widget)
  {
-@@ -644,14 +672,15 @@ eel_background_set_up_widget (EelBackgro
+@@ -644,14 +673,15 @@ eel_background_set_up_widget (EelBackgro
  	} else {
  		window = widget->window;
  	}
@@ -80,31 +81,24 @@
  
  	background->details->background_changes_with_size =
  		gnome_bg_changes_with_size (background->details->bg);
-@@ -679,6 +708,18 @@ eel_background_set_up_widget (EelBackgro
+@@ -679,6 +709,16 @@ eel_background_set_up_widget (EelBackgro
  static void
  eel_widget_background_changed (GtkWidget *widget, EelBackground *background)
  {
 +	if (GTK_WIDGET_REALIZED (widget)) {
-+		int width, height;
-+
-+		if (background->details->fade != NULL) {
-+			gnome_bg_crossfade_stop (background->details->fade);
-+			g_object_unref (background->details->fade);
++		if (background->details->fade == NULL) {
++			int width, height;
++			gdk_drawable_get_size (widget->window, &width, &height);
++			background->details->fade = gnome_bg_crossfade_new (width, height);
++			gnome_bg_crossfade_set_start_pixmap (background->details->fade,
++							     background->details->background_pixmap);
 +		}
-+		gdk_drawable_get_size (widget->window, &width, &height);
-+		background->details->fade = gnome_bg_crossfade_new (width, height);
-+		gnome_bg_crossfade_set_start_pixmap (background->details->fade, background->details->background_pixmap);
 +	}
 +
  	eel_background_unrealize (background);
  	eel_background_set_up_widget (background, widget);
  
-@@ -741,11 +782,55 @@ static void
- widget_realize_cb (GtkWidget *widget, gpointer data)
- {
- 	EelBackground *background;
-+	int width, height;
- 	
+@@ -745,7 +785,13 @@ widget_realize_cb (GtkWidget *widget, gp
  	background = EEL_BACKGROUND (data);
  
  	widget_realized_setup (widget, data);
@@ -113,44 +107,7 @@
 +	if (background->details->fade != NULL) {
 +		gnome_bg_crossfade_stop (background->details->fade);
 +		g_object_unref (background->details->fade);
-+	}
-+
-+	gdk_drawable_get_size (widget->window, &width, &height);
-+	background->details->fade = gnome_bg_crossfade_new (width, height);
-+
-+	if (background->details->is_desktop) {
-+		GdkWindow *root_window;
-+		GdkScreen *screen;
-+		GdkPixmap *pixmap;
-+		cairo_surface_t *surface;
-+		int x, y;
-+		cairo_pattern_t *pattern;
-+		cairo_t *cr;
-+
-+		screen = gtk_widget_get_screen (widget);
-+
-+		root_window = gdk_screen_get_root_window (screen);
-+		gdk_window_get_position (widget->window, &x, &y);
-+
-+		pixmap = gdk_pixmap_new (widget->window, width, height, -1);
-+
-+		cr = gdk_cairo_create (pixmap);
-+
-+		surface = cairo_xlib_surface_create (GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (widget)),
-+						     GDK_WINDOW_XWINDOW (root_window),
-+						     GDK_VISUAL_XVISUAL (gdk_drawable_get_visual (pixmap)),
-+						     gdk_screen_get_width (screen),
-+						     gdk_screen_get_height (screen));
-+		cairo_set_source_surface (cr, surface, x, y);
-+		cairo_paint (cr);
-+
-+		cairo_surface_destroy (surface);
-+		cairo_destroy (cr);
-+
-+		gnome_bg_crossfade_set_start_pixmap (background->details->fade, pixmap);
-+		g_object_unref (pixmap);
-+	} else {
-+		gnome_bg_crossfade_set_start_pixmap (background->details->fade, NULL);
++		background->details->fade = NULL;
 +	}
 +
  	eel_background_set_up_widget (background, widget);


Index: eel2.spec
===================================================================
RCS file: /cvs/pkgs/rpms/eel2/devel/eel2.spec,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -r1.101 -r1.102
--- eel2.spec	22 Sep 2008 14:35:26 -0000	1.101
+++ eel2.spec	1 Oct 2008 16:59:39 -0000	1.102
@@ -17,7 +17,7 @@
 Name:        eel2
 Summary:     Eazel Extensions Library
 Version:     2.24.0
-Release:     2%{?dist}
+Release:     3%{?dist}
 License:     LGPLv2+
 Group:       System Environment/Libraries
 Source:      http://download.gnome.org/sources/eel/2.24/eel-%{version}.tar.bz2
@@ -113,6 +113,12 @@
 %{_includedir}/eel-2
 
 %changelog
+* Wed Oct  1 2008 Ray Strode <rstrode at redhat.com> - 2.24.0-3
+- When a crossfade is in progress and another is requested,
+  don't cancel the first but instead just change the
+  pixmap that's getting faded to.  Might help with a flicker
+  problem Matthias is encountering
+
 * Mon Sep 22 2008 Ray Strode <rstrode at redhat.com> - 2.24.0-2
 - Don't fade desktop from themed gray color at startup
 




More information about the scm-commits mailing list