From 2214eb0ada4f493b1c8e4366f102363fd8357e05 Mon Sep 17 00:00:00 2001 From: Soren Sandmann Pedersen Date: Nov 13 2007 22:22:23 +0000 Subject: Fix bug 344461 --- diff --git a/gnome-desktop-2.19.90-gnome-bg.patch b/gnome-desktop-2.19.90-gnome-bg.patch index e915d5c..90e81d1 100644 --- a/gnome-desktop-2.19.90-gnome-bg.patch +++ b/gnome-desktop-2.19.90-gnome-bg.patch @@ -1,6 +1,7 @@ ---- gnome-desktop-2.19.90/configure.in.gnome-bg 2007-08-13 20:04:02.000000000 -0400 -+++ gnome-desktop-2.19.90/configure.in 2007-08-29 17:22:58.000000000 -0400 -@@ -51,10 +51,10 @@ +diff -up gnome-desktop-2.20.1/configure.in.gnome-bg gnome-desktop-2.20.1/configure.in +--- gnome-desktop-2.20.1/configure.in.gnome-bg 2007-10-15 15:57:41.000000000 -0400 ++++ gnome-desktop-2.20.1/configure.in 2007-11-13 17:16:48.000000000 -0500 +@@ -51,10 +51,10 @@ AC_SUBST(GNOME_MICRO) AC_SUBST(GNOME_DISTRIBUTOR) AC_SUBST(GNOME_DATE) @@ -15,8 +16,122 @@ # As a special favour for vuntz, support --disable-deprecations ---- /dev/null 2007-08-15 18:04:26.337218222 -0400 -+++ gnome-desktop-2.19.90/libgnome-desktop/gnome-bg.c 2007-08-31 15:05:05.000000000 -0400 +diff -up /dev/null gnome-desktop-2.20.1/libgnome-desktop/libgnomeui/gnome-bg.h +--- /dev/null 2007-11-13 12:35:54.536025751 -0500 ++++ gnome-desktop-2.20.1/libgnome-desktop/libgnomeui/gnome-bg.h 2007-11-13 17:16:48.000000000 -0500 +@@ -0,0 +1,99 @@ ++/* gnome-bg.h - ++ ++ Copyright 2007, Red Hat, Inc. ++ ++ This file is part of the Gnome Library. ++ ++ The Gnome Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public License as ++ published by the Free Software Foundation; either version 2 of the ++ License, or (at your option) any later version. ++ ++ The Gnome Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the Gnome Library; see the file COPYING.LIB. If not, ++ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. ++ ++ Author: Soren Sandmann ++*/ ++ ++#ifndef __GNOME_BG_H__ ++#define __GNOME_BG_H__ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include ++ ++#define GNOME_TYPE_BG (gnome_bg_get_type ()) ++#define GNOME_BG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_BG, GnomeBG)) ++#define GNOME_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_BG, GnomeBGClass)) ++#define GNOME_IS_BG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_BG)) ++#define GNOME_IS_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_BG)) ++#define GNOME_BG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_BG, GnomeBGClass)) ++ ++typedef struct _GnomeBG GnomeBG; ++typedef struct _GnomeBGClass GnomeBGClass; ++ ++typedef enum { ++ GNOME_BG_COLOR_SOLID, ++ GNOME_BG_COLOR_H_GRADIENT, ++ GNOME_BG_COLOR_V_GRADIENT ++} GnomeBGColorType; ++ ++typedef enum { ++ GNOME_BG_PLACEMENT_TILED, ++ GNOME_BG_PLACEMENT_ZOOMED, ++ GNOME_BG_PLACEMENT_CENTERED, ++ GNOME_BG_PLACEMENT_SCALED, ++ GNOME_BG_PLACEMENT_FILL_SCREEN ++} GnomeBGPlacement; ++ ++GType gnome_bg_get_type (void); ++GnomeBG * gnome_bg_new (void); ++void gnome_bg_free (GnomeBG *img); ++void gnome_bg_set_placement (GnomeBG *img, ++ GnomeBGPlacement placement); ++void gnome_bg_set_color (GnomeBG *img, ++ GnomeBGColorType type, ++ GdkColor *c1, ++ GdkColor *c2); ++void gnome_bg_set_uri (GnomeBG *img, ++ const char *uri); ++void gnome_bg_draw (GnomeBG *img, ++ GdkPixbuf *dest); ++GdkPixmap *gnome_bg_create_pixmap (GnomeBG *img, ++ GdkWindow *window, ++ int width, ++ int height, ++ gboolean root); ++gboolean gnome_bg_get_image_size (GnomeBG *bg, ++ GnomeThumbnailFactory *factory, ++ int *width, ++ int *height); ++GdkPixbuf *gnome_bg_create_thumbnail (GnomeBG *bg, ++ GnomeThumbnailFactory *factory, ++ GdkScreen *screen, ++ int dest_width, ++ int dest_height); ++gboolean gnome_bg_is_dark (GnomeBG *img); ++gboolean gnome_bg_changes_with_size (GnomeBG *img); ++ ++ ++/* Set a pixmap as root - not a GnomeBG method */ ++void gnome_bg_set_pixmap_as_root (GdkScreen *screen, ++ GdkPixmap *pixmap); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +diff -up gnome-desktop-2.20.1/libgnome-desktop/libgnomeui/Makefile.am.gnome-bg gnome-desktop-2.20.1/libgnome-desktop/libgnomeui/Makefile.am +--- gnome-desktop-2.20.1/libgnome-desktop/libgnomeui/Makefile.am.gnome-bg 2007-10-15 15:49:05.000000000 -0400 ++++ gnome-desktop-2.20.1/libgnome-desktop/libgnomeui/Makefile.am 2007-11-13 17:16:48.000000000 -0500 +@@ -1,4 +1,5 @@ + libgnomeui_desktopdir = $(includedir)/gnome-desktop-2.0/libgnomeui + libgnomeui_desktop_HEADERS = \ + gnome-ditem-edit.h \ +- gnome-hint.h ++ gnome-hint.h \ ++ gnome-bg.h +diff -up /dev/null gnome-desktop-2.20.1/libgnome-desktop/gnome-bg.c +--- /dev/null 2007-11-13 12:35:54.536025751 -0500 ++++ gnome-desktop-2.20.1/libgnome-desktop/gnome-bg.c 2007-11-13 17:17:50.000000000 -0500 @@ -0,0 +1,1838 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- + @@ -1767,16 +1882,16 @@ + } + + if (!g_markup_parse_context_end_parse (context, err)) { -+ slideshow_free (show); -+ show = NULL; ++ if (show) { ++ slideshow_free (show); ++ show = NULL; ++ } + } + + g_markup_parse_context_free (context); + + t = mktime (&show->start_tm); + -+ g_print ("start time: %s\n", asctime (&show->start_tm)); -+ + show->start_time = (double)t; + + dump_bg (show); @@ -1856,9 +1971,10 @@ + + return FALSE; +} ---- gnome-desktop-2.19.90/libgnome-desktop/Makefile.am.gnome-bg 2007-08-13 20:04:00.000000000 -0400 -+++ gnome-desktop-2.19.90/libgnome-desktop/Makefile.am 2007-08-29 17:22:58.000000000 -0400 -@@ -18,7 +18,8 @@ +diff -up gnome-desktop-2.20.1/libgnome-desktop/Makefile.am.gnome-bg gnome-desktop-2.20.1/libgnome-desktop/Makefile.am +--- gnome-desktop-2.20.1/libgnome-desktop/Makefile.am.gnome-bg 2007-10-15 15:49:05.000000000 -0400 ++++ gnome-desktop-2.20.1/libgnome-desktop/Makefile.am 2007-11-13 17:16:48.000000000 -0500 +@@ -18,7 +18,8 @@ noinst_PROGRAMS = test-ditem test-hint t libgnome_desktop_2_la_SOURCES = \ gnome-desktop-item.c \ gnome-ditem-edit.c \ @@ -1868,114 +1984,3 @@ libgnome_desktop_2_la_LIBADD = \ $(GNOME_DESKTOP_LIBS) ---- gnome-desktop-2.19.90/libgnome-desktop/libgnomeui/Makefile.am.gnome-bg 2007-08-13 20:04:00.000000000 -0400 -+++ gnome-desktop-2.19.90/libgnome-desktop/libgnomeui/Makefile.am 2007-08-29 17:22:58.000000000 -0400 -@@ -1,4 +1,5 @@ - libgnomeui_desktopdir = $(includedir)/gnome-desktop-2.0/libgnomeui - libgnomeui_desktop_HEADERS = \ - gnome-ditem-edit.h \ -- gnome-hint.h -+ gnome-hint.h \ -+ gnome-bg.h ---- /dev/null 2007-08-15 18:04:26.337218222 -0400 -+++ gnome-desktop-2.19.90/libgnome-desktop/libgnomeui/gnome-bg.h 2007-08-29 17:22:58.000000000 -0400 -@@ -0,0 +1,99 @@ -+/* gnome-bg.h - -+ -+ Copyright 2007, Red Hat, Inc. -+ -+ This file is part of the Gnome Library. -+ -+ The Gnome Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public License as -+ published by the Free Software Foundation; either version 2 of the -+ License, or (at your option) any later version. -+ -+ The Gnome Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Library General Public License for more details. -+ -+ You should have received a copy of the GNU Library General Public -+ License along with the Gnome Library; see the file COPYING.LIB. If not, -+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. -+ -+ Author: Soren Sandmann -+*/ -+ -+#ifndef __GNOME_BG_H__ -+#define __GNOME_BG_H__ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+ -+#define GNOME_TYPE_BG (gnome_bg_get_type ()) -+#define GNOME_BG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_BG, GnomeBG)) -+#define GNOME_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_BG, GnomeBGClass)) -+#define GNOME_IS_BG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_BG)) -+#define GNOME_IS_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_BG)) -+#define GNOME_BG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_BG, GnomeBGClass)) -+ -+typedef struct _GnomeBG GnomeBG; -+typedef struct _GnomeBGClass GnomeBGClass; -+ -+typedef enum { -+ GNOME_BG_COLOR_SOLID, -+ GNOME_BG_COLOR_H_GRADIENT, -+ GNOME_BG_COLOR_V_GRADIENT -+} GnomeBGColorType; -+ -+typedef enum { -+ GNOME_BG_PLACEMENT_TILED, -+ GNOME_BG_PLACEMENT_ZOOMED, -+ GNOME_BG_PLACEMENT_CENTERED, -+ GNOME_BG_PLACEMENT_SCALED, -+ GNOME_BG_PLACEMENT_FILL_SCREEN -+} GnomeBGPlacement; -+ -+GType gnome_bg_get_type (void); -+GnomeBG * gnome_bg_new (void); -+void gnome_bg_free (GnomeBG *img); -+void gnome_bg_set_placement (GnomeBG *img, -+ GnomeBGPlacement placement); -+void gnome_bg_set_color (GnomeBG *img, -+ GnomeBGColorType type, -+ GdkColor *c1, -+ GdkColor *c2); -+void gnome_bg_set_uri (GnomeBG *img, -+ const char *uri); -+void gnome_bg_draw (GnomeBG *img, -+ GdkPixbuf *dest); -+GdkPixmap *gnome_bg_create_pixmap (GnomeBG *img, -+ GdkWindow *window, -+ int width, -+ int height, -+ gboolean root); -+gboolean gnome_bg_get_image_size (GnomeBG *bg, -+ GnomeThumbnailFactory *factory, -+ int *width, -+ int *height); -+GdkPixbuf *gnome_bg_create_thumbnail (GnomeBG *bg, -+ GnomeThumbnailFactory *factory, -+ GdkScreen *screen, -+ int dest_width, -+ int dest_height); -+gboolean gnome_bg_is_dark (GnomeBG *img); -+gboolean gnome_bg_changes_with_size (GnomeBG *img); -+ -+ -+/* Set a pixmap as root - not a GnomeBG method */ -+void gnome_bg_set_pixmap_as_root (GdkScreen *screen, -+ GdkPixmap *pixmap); -+ -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif diff --git a/gnome-desktop.spec b/gnome-desktop.spec index d992207..79cdf1d 100644 --- a/gnome-desktop.spec +++ b/gnome-desktop.spec @@ -12,7 +12,7 @@ Summary: Package containing code shared among gnome-panel, gnome-session, nautilus, etc Name: gnome-desktop Version: 2.20.1 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://www.gnome.org Source0: http://download.gnome.org/sources/gnome-desktop/2.20/%{name}-%{version}.tar.bz2 License: GPLv2+ and LGPLv2+ @@ -124,6 +124,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_datadir}/gtk-doc/html/gnome-desktop/ %changelog +* Tue Nov 13 2007 Soren Sandmann - 2.20.1-2 +- Don't crash when failing to parse a slideshow. Bug 344461. + * Mon Oct 15 2007 Matthias Clasen - 2.20.1-1 - Update to 2.20.1 (bug fixes and translation updates)