rpms/gnome-session/devel gnome-session-2.16.0-shaped.patch, NONE, 1.1 gnome-session.spec, 1.86, 1.87

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Sep 8 02:25:06 UTC 2006


Author: mclasen

Update of /cvs/dist/rpms/gnome-session/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv19233

Modified Files:
	gnome-session.spec 
Added Files:
	gnome-session-2.16.0-shaped.patch 
Log Message:
fix splash screen


gnome-session-2.16.0-shaped.patch:
 splash-widget.c |   62 +++++++++++++++++++++++++-------------------------------
 splash-widget.h |    7 ++----
 2 files changed, 31 insertions(+), 38 deletions(-)

--- NEW FILE gnome-session-2.16.0-shaped.patch ---
--- gnome-session-2.12.0/gnome-session/splash-widget.h.shaped	2005-08-08 03:35:13.000000000 -0400
+++ gnome-session-2.12.0/gnome-session/splash-widget.h	2006-01-12 02:19:59.000000000 -0500
@@ -36,7 +36,6 @@
         GnomeIconTheme *icon_theme;
   
 	GdkPixbuf   *background;
-	GdkPixmap   *bg_pixmap;
 	GList       *icons;
 	PangoLayout *layout;
 	PangoAttribute   *font_size_attr;
@@ -66,13 +65,13 @@
 #define SPLASH_BASE_HEIGHT 220
 
 /* offset from bottom of label & font */
-#define SPLASH_LABEL_V_OFFSET 3
+#define SPLASH_LABEL_V_OFFSET 18
 #define SPLASH_LABEL_FONT_SIZE 8
 
 /* icon border, spacing, offset from bottom and initial size */
-#define SPLASH_ICON_BORDER  8
+#define SPLASH_ICON_BORDER  26
 #define SPLASH_ICON_SPACING 4
-#define SPLASH_ICON_V_OFFSET 14
+#define SPLASH_ICON_V_OFFSET 28
 #define SPLASH_BASE_ICON_SIZE 36
 #define SPLASH_BASE_ICON_ROWS 1
 
--- gnome-session-2.12.0/gnome-session/splash-widget.c.shaped	2006-01-12 02:19:59.000000000 -0500
+++ gnome-session-2.12.0/gnome-session/splash-widget.c	2006-01-12 02:22:28.000000000 -0500
@@ -137,16 +137,6 @@
 	if (!GTK_WIDGET_DRAWABLE (widget))
 		return FALSE;
 
-	if (gdk_rectangle_intersect (
-		&event->area, &sw->image_bounds, &exposed))
-		gdk_draw_drawable  (
-			GDK_DRAWABLE (widget->window),
-			widget->style->black_gc,
-			GDK_DRAWABLE (sw->bg_pixmap),
-			exposed.x, exposed.y,
-			exposed.x, exposed.y,
-			exposed.width, exposed.height);
-
 	for (l = sw->icons; l; l = l->next) {
 		SplashIcon *si = l->data;
 
@@ -221,33 +211,42 @@
 static void
 splash_widget_realize (GtkWidget *widget)
 {
-	GdkPixmap *pm;
 	SplashWidget *sw = (SplashWidget *) widget;
 
 	GNOME_CALL_PARENT (GTK_WIDGET_CLASS, realize, (widget));
 
 	if (sw->background && widget->window) {
-		int width, height;
+		GdkPixmap *pixmap; 
+		GdkBitmap *mask;
+		GdkColormap *colormap;
 
-		width = gdk_pixbuf_get_width  (sw->background);
-		height = gdk_pixbuf_get_height (sw->background);
+		pixmap = NULL;
+		mask = NULL;
 
-		pm = gdk_pixmap_new (
-			widget->window,
-			width, height,
-			gdk_drawable_get_visual (widget->window)->depth);
+		colormap = gtk_widget_get_colormap (widget);
+		gdk_pixbuf_render_pixmap_and_mask_for_colormap (sw->background,
+							 	colormap,
+								&pixmap, &mask,
+								125);
 
-		if (pm) {
-			gdk_pixbuf_render_to_drawable (
-				sw->background, GDK_DRAWABLE (pm),
-				widget->style->black_gc,
-				0, 0, 0, 0, width, height,
-				GDK_RGB_DITHER_MAX,
-				0, 0);
-			
-			gdk_window_set_back_pixmap (
-				widget->window, pm, FALSE);
-			sw->bg_pixmap = pm;
+		if (pixmap) {
+			GtkStyle *style;
+
+			style = gtk_style_copy (widget->style);
+			style->bg_pixmap[GTK_STATE_NORMAL] = pixmap;
+
+			gtk_widget_set_style (widget, style);
+			g_object_unref (style);
+
+			if (mask) {
+				gdk_window_shape_combine_mask (widget->window,
+							       mask, 0, 0);
+
+				g_object_unref (mask);
+			}
+
+			gtk_style_set_background (widget->style, widget->window,
+						  GTK_STATE_NORMAL);
 		}
 	}
 }
@@ -257,11 +256,6 @@
 {
 	SplashWidget *sw = (SplashWidget *) widget; 
 
-	if (sw->bg_pixmap) {
-		g_object_unref (sw->bg_pixmap);
-		sw->bg_pixmap = NULL;
-	}
-
 	GNOME_CALL_PARENT (GTK_WIDGET_CLASS, unrealize, (widget));
 }
 


Index: gnome-session.spec
===================================================================
RCS file: /cvs/dist/rpms/gnome-session/devel/gnome-session.spec,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- gnome-session.spec	6 Sep 2006 16:07:31 -0000	1.86
+++ gnome-session.spec	8 Sep 2006 02:25:04 -0000	1.87
@@ -14,7 +14,7 @@
 Summary: GNOME session manager
 Name: gnome-session
 Version: 2.16.0
-Release: 2%{?dist}
+Release: 3%{?dist}
 URL: http://www.gnome.org
 Source0: %{name}-%{version}.tar.bz2
 Source1: redhat-default-session
@@ -48,7 +48,7 @@
 Patch7: gnome-session-2.13.92-user-share.patch
 
 # do shaped window for splash screen
-Patch8: gnome-session-2.12.0-shaped.patch
+Patch8: gnome-session-2.16.0-shaped.patch
 
 # too much crashing
 Patch9: gnome-session-2.13.4-no-crashes.patch
@@ -185,6 +185,9 @@
 %{_datadir}/gnome/autostart
 
 %changelog
+* Thu Sep  7 2006 Matthias Clasen <mclasen at redhat.com> - 2.16.0-3.fc6
+- Fix position of icons in the splash screen  (#205508)
+
 * Wed Sep  6 2006 Ray Strode <rstrode at redhat.com> - 2.16.0-2.fc6
 - set http_proxy environment variable from GNOME settings 
   (bug 190041)




More information about the fedora-cvs-commits mailing list