diff --git a/.gitignore b/.gitignore
index 0c26c0b..b92e4e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
xscreensaver-5.11.tar.gz
/xscreensaver-5.12.tar.gz
+/xscreensaver-5.13.tar.gz
+clog
diff --git a/sources b/sources
index c97a843..4b2fa8c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0345c1acb9280729de05c5ca44b401e3 xscreensaver-5.12.tar.gz
+a1a55b763e17c5c83a2b7cb5ddf23560 xscreensaver-5.13.tar.gz
diff --git a/xscreensaver-5.12-apple2-1byte-ahead.patch b/xscreensaver-5.12-apple2-1byte-ahead.patch
deleted file mode 100644
index 4bb58af..0000000
--- a/xscreensaver-5.12-apple2-1byte-ahead.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- xscreensaver-5.12/hacks/apple2.c.debug 2010-04-12 13:47:06.000000000 +0900
-+++ xscreensaver-5.12/hacks/apple2.c 2011-01-02 16:02:05.000000000 +0900
-@@ -671,11 +671,12 @@
- int c;
- /* If we're in the midst of typing a string, emit a character with
- random timing. */
-- c =*sim->typing++;
-+ c =*sim->typing;
- if (c==0) {
- sim->typing=NULL;
- }
- else {
-+ sim->typing++;
- a2_printc(sim->st, c);
- if (c=='\r' || c=='\n') {
- sim->next_actiontime = sim->curtime;
diff --git a/xscreensaver-5.12-flame-completely-blank.patch b/xscreensaver-5.12-flame-completely-blank.patch
deleted file mode 100644
index 0e636a1..0000000
--- a/xscreensaver-5.12-flame-completely-blank.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- xscreensaver-5.12/hacks/flame.c.debug 2010-05-24 14:39:51.000000000 +0900
-+++ xscreensaver-5.12/hacks/flame.c 2010-10-13 23:16:00.000000000 +0900
-@@ -173,7 +173,7 @@
- static int
- recurse (struct state *st, double x, double y, int l, Display *dpy, Window win)
- {
-- int /*xp, yp,*/ i;
-+ int i;
- double nx, ny;
-
- if (l == st->max_levels)
-@@ -184,8 +184,8 @@
-
- if (x > -1.0 && x < 1.0 && y > -1.0 && y < 1.0)
- {
--/* xp = st->points[st->num_points].x = (int) ((st->width / 2) * (x + 1.0));
-- yp = st->points[st->num_points].y = (int) ((st->height / 2) * (y + 1.0));*/
-+ st->points[st->num_points].x = (int) ((st->width / 2) * (x + 1.0));
-+ st->points[st->num_points].y = (int) ((st->height / 2) * (y + 1.0));
- st->num_points++;
- if (st->num_points >= POINT_BUFFER_SIZE)
- {
diff --git a/xscreensaver-5.12-for-now-set-lang-on-daemon-to-C.patch b/xscreensaver-5.12-for-now-set-lang-on-daemon-to-C.patch
deleted file mode 100644
index b422c9d..0000000
--- a/xscreensaver-5.12-for-now-set-lang-on-daemon-to-C.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- xscreensaver-5.12/driver/xscreensaver.c.debug 2010-09-15 17:43:27.000000000 +0900
-+++ xscreensaver-5.12/driver/xscreensaver.c 2010-09-20 01:33:26.000000000 +0900
-@@ -1382,6 +1382,7 @@
- struct passwd *spasswd;
- int i;
-
-+#if 0
- #ifdef ENABLE_NLS
- if (!setlocale (LC_ALL, ""))
- fprintf (stderr, "locale not supported by C library\n");
-@@ -1389,6 +1390,7 @@
- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
- textdomain (GETTEXT_PACKAGE);
- #endif /* ENABLE_NLS */
-+#endif
-
- memset(si, 0, sizeof(*si));
- global_si_kludge = si; /* I hate C so much... */
diff --git a/xscreensaver-5.12-gltext-memleak.patch b/xscreensaver-5.12-gltext-memleak.patch
deleted file mode 100644
index 3da67c7..0000000
--- a/xscreensaver-5.12-gltext-memleak.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xscreensaver-5.12/hacks/glx/tube.c.mem 2010-08-23 12:39:51.000000000 +0900
-+++ xscreensaver-5.12/hacks/glx/tube.c 2010-10-13 08:12:45.000000000 +0900
-@@ -181,6 +181,8 @@
- glDrawArrays ((wire_p ? GL_LINE_LOOP : GL_TRIANGLE_FAN), 0, out);
- }
-
-+ free(array);
-+
- return polys;
- }
-
diff --git a/xscreensaver-5.12-gtkspinbox-page-size-to-zero.patch b/xscreensaver-5.12-gtkspinbox-page-size-to-zero.patch
deleted file mode 100644
index fa9ffc4..0000000
--- a/xscreensaver-5.12-gtkspinbox-page-size-to-zero.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- xscreensaver-5.12/driver/xscreensaver-demo.glade2.debug 2010-09-15 17:45:52.000000000 +0900
-+++ xscreensaver-5.12/driver/xscreensaver-demo.glade2 2010-10-28 06:16:07.000000000 +0900
-@@ -253,7 +253,7 @@
- GTK_UPDATE_ALWAYS
- True
- False
-- 1 1 720 1 15 15
-+ 1 1 720 1 15 0
-
-
-
-@@ -285,7 +285,7 @@
- GTK_UPDATE_ALWAYS
- True
- False
-- 0 0 720 1 15 15
-+ 0 0 720 1 15 0
-
- Lock Screen After
-
-@@ -320,7 +320,7 @@
- GTK_UPDATE_ALWAYS
- True
- False
-- 0 0 720 1 15 15
-+ 0 0 720 1 15 0
-
-
-
-@@ -1944,7 +1944,7 @@
- GTK_UPDATE_ALWAYS
- True
- False
-- 0 0 1440 1 15 15
-+ 0 0 1440 1 15 0
-
-
-
-@@ -1977,7 +1977,7 @@
- GTK_UPDATE_ALWAYS
- True
- False
-- 0 0 1440 1 15 15
-+ 0 0 1440 1 15 0
-
-
-
-@@ -2010,7 +2010,7 @@
- GTK_UPDATE_ALWAYS
- True
- False
-- 0 0 1440 1 15 15
-+ 0 0 1440 1 15 0
-
-
-
-@@ -2243,7 +2243,7 @@
- GTK_UPDATE_ALWAYS
- True
- False
-- 0 0 10 1 1 1
-+ 0 0 10 1 1 0
-
-
-
diff --git a/xscreensaver-5.12-upst-XLookupString-may-return-string.patch b/xscreensaver-5.12-upst-XLookupString-may-return-string.patch
deleted file mode 100644
index 93f4508..0000000
--- a/xscreensaver-5.12-upst-XLookupString-may-return-string.patch
+++ /dev/null
@@ -1,337 +0,0 @@
---- xscreensaver-5.12/driver/lock.c.debug 2010-09-15 17:43:26.000000000 +0900
-+++ xscreensaver-5.12/driver/lock.c 2011-04-03 17:51:36.000000000 +0900
-@@ -1,5 +1,5 @@
- /* lock.c --- handling the password dialog for locking-mode.
-- * xscreensaver, Copyright (c) 1993-2008 Jamie Zawinski
-+ * xscreensaver, Copyright (c) 1993-2011 Jamie Zawinski
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
-@@ -83,12 +83,23 @@
-
- typedef struct info_dialog_data info_dialog_data;
-
-+
-+#define MAX_BYTES_PER_CHAR 8 /* UTF-8 uses no more than 3, I think */
-+#define MAX_PASSWD_CHARS 128 /* Longest possible passphrase */
-+
- struct passwd_dialog_data {
-
- saver_screen_info *prompt_screen;
- int previous_mouse_x, previous_mouse_y;
-
-- char typed_passwd [80];
-+ /* "Characters" in the password may be a variable number of bytes long.
-+ typed_passwd contains the raw bytes.
-+ typed_passwd_char_size indicates the size in bytes of each character,
-+ so that we can make backspace work.
-+ */
-+ char typed_passwd [MAX_PASSWD_CHARS * MAX_BYTES_PER_CHAR];
-+ char typed_passwd_char_size [MAX_PASSWD_CHARS];
-+
- XtIntervalId timer;
- int i_beam;
-
-@@ -128,6 +139,7 @@
-
- Pixel foreground;
- Pixel background;
-+ Pixel border;
- Pixel passwd_foreground;
- Pixel passwd_background;
- Pixel thermo_foreground;
-@@ -308,6 +320,9 @@
- pw->background = get_pixel_resource (si->dpy, cmap,
- "passwd.background",
- "Dialog.Background" );
-+ pw->border = get_pixel_resource (si->dpy, cmap,
-+ "passwd.borderColor",
-+ "Dialog.borderColor");
-
- if (pw->foreground == pw->background)
- {
-@@ -413,6 +428,9 @@
- }
-
-
-+Bool debug_passwd_window_p = False; /* used only by test-passwd.c ? */
-+
-+
- /**
- * info_msg and prompt may be NULL.
- */
-@@ -614,6 +632,9 @@
-
- attrmask |= CWOverrideRedirect; attrs.override_redirect = True;
-
-+ if (debug_passwd_window_p)
-+ attrs.override_redirect = False; /* kludge for test-passwd.c */
-+
- attrmask |= CWEventMask;
- attrs.event_mask = (ExposureMask | KeyPressMask |
- ButtonPressMask | ButtonReleaseMask);
-@@ -648,6 +669,7 @@
- DefaultVisualOfScreen(screen),
- attrmask, &attrs);
- XSetWindowBackground (si->dpy, si->passwd_dialog, pw->background);
-+ XSetWindowBorder (si->dpy, si->passwd_dialog, pw->border);
-
- /* We use the default visual, not ssi->visual, so that the logo pixmap's
- visual matches that of the si->passwd_dialog window. */
-@@ -1234,6 +1256,7 @@
- }
-
- memset (pw->typed_passwd, 0, sizeof(pw->typed_passwd));
-+ memset (pw->typed_passwd_char_size, 0, sizeof(pw->typed_passwd_char_size));
- memset (pw->passwd_string, 0, strlen(pw->passwd_string));
-
- if (pw->timer)
-@@ -1693,85 +1716,126 @@
- handle_passwd_key (saver_info *si, XKeyEvent *event)
- {
- passwd_dialog_data *pw = si->pw_data;
-- int pw_size = sizeof (pw->typed_passwd) - 1;
-- char *typed_passwd = pw->typed_passwd;
-- char s[2];
-- char *stars = 0;
-- int i;
-- int size = XLookupString (event, s, 1, 0, compose_status);
-+ unsigned char decoded [MAX_BYTES_PER_CHAR * 10]; /* leave some slack */
-+ KeySym keysym = 0;
-
-- if (size != 1) return;
-+ /* XLookupString may return more than one character via XRebindKeysym;
-+ and on some systems it returns multi-byte UTF-8 characters (contrary
-+ to its documentation, which says it returns only Latin1.)
-+ */
-+ int decoded_size = XLookupString (event, (char *)decoded, sizeof(decoded),
-+ &keysym, compose_status);
-
-- s[1] = 0;
-+#if 0
-+ {
-+ const char *ks = XKeysymToString (keysym);
-+ int i;
-+ fprintf(stderr, "## %-12s\t=> %d\t", (ks ? ks : "(null)"), decoded_size);
-+ for (i = 0; i < decoded_size; i++)
-+ fprintf(stderr, "%c", decoded[i]);
-+ fprintf(stderr, "\t");
-+ for (i = 0; i < decoded_size; i++)
-+ fprintf(stderr, "\\%03o", ((unsigned char *)decoded)[i]);
-+ fprintf(stderr, "\n");
-+ }
-+#endif
-
-+ if (decoded_size > MAX_BYTES_PER_CHAR)
-+ {
-+ /* The multi-byte character returned is too large. */
-+ XBell (si->dpy, 0);
-+ return;
-+ }
-+
-+ decoded[decoded_size] = 0;
- pw->passwd_changed_p = True;
-
- /* Add 10% to the time remaining every time a key is pressed. */
- pw->ratio += 0.1;
- if (pw->ratio > 1) pw->ratio = 1;
-
-- switch (*s)
-+ if (decoded_size == 1) /* Handle single-char commands */
- {
-- case '\010': case '\177': /* Backspace */
-- if (!*typed_passwd)
-- XBell (si->dpy, 0);
-- else
-- typed_passwd [strlen(typed_passwd)-1] = 0;
-- break;
--
-- case '\025': case '\030': /* Erase line */
-- memset (typed_passwd, 0, pw_size);
-- break;
--
-- case '\012': case '\015': /* Enter */
-- finished_typing_passwd(si, pw);
-- break;
--
-- case '\033': /* Escape */
-- si->unlock_state = ul_cancel;
-- break;
--
-- default:
-- /* Though technically the only illegal characters in Unix passwords
-- are LF and NUL, most GUI programs (e.g., GDM) use regular text-entry
-- fields that only let you type printable characters. So, people
-- who use funky characters in their passwords are already broken.
-- We follow that precedent.
-- */
-- if (isprint ((unsigned char) *s))
-+ switch (*decoded)
- {
-- i = strlen (typed_passwd);
-- if (i >= pw_size-1)
-+ case '\010': case '\177': /* Backspace */
-+ {
-+ /* kludgey way to get the number of "logical" characters. */
-+ int nchars = strlen (pw->typed_passwd_char_size);
-+ int nbytes = strlen (pw->typed_passwd);
-+ if (nbytes <= 0)
-+ XBell (si->dpy, 0);
-+ else
-+ {
-+ int i;
-+ for (i = pw->typed_passwd_char_size[nchars-1]; i >= 0; i--)
-+ {
-+ if (nbytes < 0) abort();
-+ pw->typed_passwd[nbytes--] = 0;
-+ }
-+ pw->typed_passwd_char_size[nchars-1] = 0;
-+ }
-+ }
-+ break;
-+
-+ case '\012': case '\015': /* Enter */
-+ finished_typing_passwd (si, pw);
-+ break;
-+
-+ case '\033': /* Escape */
-+ si->unlock_state = ul_cancel;
-+ break;
-+
-+ case '\025': case '\030': /* Erase line */
-+ memset (pw->typed_passwd, 0, sizeof (pw->typed_passwd));
-+ memset (pw->typed_passwd_char_size, 0,
-+ sizeof (pw->typed_passwd_char_size));
-+ break;
-+
-+ default:
-+ if (*decoded < ' ' && *decoded != '\t') /* Other ctrl char */
- XBell (si->dpy, 0);
- else
-- {
-- typed_passwd [i] = *s;
-- typed_passwd [i+1] = 0;
-- }
-+ goto SELF_INSERT;
-+ break;
- }
-- else
-+ }
-+ else
-+ {
-+ int nbytes, nchars;
-+ SELF_INSERT:
-+ nbytes = strlen (pw->typed_passwd);
-+ nchars = strlen (pw->typed_passwd_char_size);
-+ if (nchars + 1 >= sizeof (pw->typed_passwd_char_size)-1 ||
-+ nbytes + decoded_size >= sizeof (pw->typed_passwd)-1) /* overflow */
- XBell (si->dpy, 0);
-- break;
-+ else
-+ {
-+ pw->typed_passwd_char_size[nchars] = decoded_size;
-+ pw->typed_passwd_char_size[nchars+1] = 0;
-+ memcpy (pw->typed_passwd + nbytes, decoded, decoded_size);
-+ pw->typed_passwd[nbytes + decoded_size] = 0;
-+ }
- }
-
- if (pw->echo_input)
- {
-- /* If the input is wider than the text box, only show the last portion.
-- * This simulates a horizontally scrolling text field. */
-+ /* If the input is wider than the text box, only show the last portion,
-+ to simulate a horizontally-scrolling text field. */
- int chars_in_pwfield = (pw->passwd_field_width /
- pw->passwd_font->max_bounds.width);
--
-- if (strlen(typed_passwd) > chars_in_pwfield)
-- typed_passwd += (strlen(typed_passwd) - chars_in_pwfield);
--
-- update_passwd_window(si, typed_passwd, pw->ratio);
-+ const char *output = pw->typed_passwd;
-+ if (strlen(output) > chars_in_pwfield)
-+ output += (strlen(output) - chars_in_pwfield);
-+ update_passwd_window (si, output, pw->ratio);
- }
- else if (pw->show_stars_p)
- {
-- i = strlen(typed_passwd);
-- stars = (char *) malloc(i+1);
-- memset (stars, '*', i);
-- stars[i] = 0;
-+ int nchars = strlen (pw->typed_passwd_char_size);
-+ char *stars = 0;
-+ stars = (char *) malloc(nchars + 1);
-+ memset (stars, '*', nchars);
-+ stars[nchars] = 0;
- update_passwd_window (si, stars, pw->ratio);
- free (stars);
- }
-@@ -1911,6 +1975,13 @@
-
- memcpy (pw->typed_passwd, si->unlock_typeahead, i);
- pw->typed_passwd [i] = 0;
-+ {
-+ int j;
-+ char *c = pw->typed_passwd_char_size;
-+ for (j = 0; j < i; j++)
-+ *c++ = 1;
-+ *c = 0;
-+ }
-
- memset (si->unlock_typeahead, '*', strlen(si->unlock_typeahead));
- si->unlock_typeahead[i] = 0;
-@@ -2054,6 +2125,7 @@
- fail:
- if (compose_status)
- free (compose_status);
-+ compose_status = 0;
-
- if (responses)
- {
---- xscreensaver-5.12/driver/test-passwd.c.debug 2010-08-24 05:22:23.000000000 +0900
-+++ xscreensaver-5.12/driver/test-passwd.c 2011-04-03 21:27:46.000000000 +0900
-@@ -1,4 +1,4 @@
--/* xscreensaver, Copyright (c) 1998-2008 Jamie Zawinski
-+/* xscreensaver, Copyright (c) 1998-2011 Jamie Zawinski
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
-@@ -27,6 +27,7 @@
- #include
- #include
- #include
-+#include
-
- #include "xscreensaver.h"
- #include "resources.h"
-@@ -135,6 +136,8 @@
- 0
- };
-
-+extern Bool debug_passwd_window_p; /* lock.c kludge */
-+
- int
- main (int argc, char **argv)
- {
-@@ -199,6 +202,11 @@
-
- progclass = "XScreenSaver";
-
-+ if (!setlocale(LC_ALL,""))
-+ fprintf (stderr, "%s: warning: could not set default locale\n",
-+ progname);
-+
-+
- if (which != TTY)
- {
- toplevel_shell = XtAppInitialize (&si->app, progclass, 0, 0,
-@@ -243,6 +251,7 @@
- si->unlock_cb = gui_auth_conv;
- si->auth_finished_cb = auth_finished_cb;
-
-+ debug_passwd_window_p = True;
- xss_authenticate(si, True);
-
- if (si->unlock_state == ul_success)
diff --git a/xscreensaver-5.12-warn-only-once-with-missing-image-dir.patch b/xscreensaver-5.12-warn-only-once-with-missing-image-dir.patch
deleted file mode 100644
index 5a31618..0000000
--- a/xscreensaver-5.12-warn-only-once-with-missing-image-dir.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- xscreensaver-5.12/driver/demo-Gtk.c.debug 2010-06-26 20:38:38.000000000 +0900
-+++ xscreensaver-5.12/driver/demo-Gtk.c 2010-11-01 16:08:53.000000000 +0900
-@@ -535,7 +535,7 @@
-
- typedef enum { D_NONE, D_LAUNCH, D_GNOME, D_KDE } dialog_button;
-
--static void
-+static Bool
- warning_dialog (GtkWidget *parent, const char *message,
- dialog_button button_type, int center)
- {
-@@ -555,7 +555,7 @@
- !GET_WINDOW (parent)) /* too early to pop up transient dialogs */
- {
- fprintf (stderr, "%s: too early for dialog?\n", progname);
-- return;
-+ return False;
- }
-
- head = msg;
-@@ -680,6 +680,7 @@
- #endif /* !HAVE_GTK2 */
-
- free (msg);
-+ return True;
- }
-
-
-@@ -1485,6 +1486,7 @@
- GList *kids = gtk_container_children (GTK_CONTAINER (list_widget));
- int i;
- #endif /* !HAVE_GTK2 */
-+ static Bool already_warned_about_missing_image_directory = False; /* very long name... */
-
- Bool changed = False;
- GtkWidget *w;
-@@ -1587,16 +1589,26 @@
- # undef PATHNAME
- # undef TEXT
-
-- /* Warn if the image directory doesn't exist.
-+ /* Warn if the image directory doesn't exist, when:
-+ - not being warned before
-+ - image directory is changed and the directory doesn't exist
- */
- if (p2->image_directory &&
- *p2->image_directory &&
-- !directory_p (p2->image_directory))
-+ !directory_p (p2->image_directory) &&
-+ ( !already_warned_about_missing_image_directory ||
-+ ( p->image_directory &&
-+ *p->image_directory &&
-+ strcmp(p->image_directory, p2->image_directory)
-+ )
-+ )
-+ )
- {
- char b[255];
-- sprintf (b, "Error:\n\n" "Directory does not exist: \"%s\"\n",
-+ sprintf (b, "Warning:\n\n" "Directory does not exist: \"%s\"\n",
- p2->image_directory);
-- warning_dialog (s->toplevel_widget, b, D_NONE, 100);
-+ if (warning_dialog (s->toplevel_widget, b, D_NONE, 100))
-+ already_warned_about_missing_image_directory = True;
- }
-
-
diff --git a/xscreensaver-5.12-webcollage-ppm-gnome569671.patch b/xscreensaver-5.12-webcollage-ppm-gnome569671.patch
deleted file mode 100644
index db26c21..0000000
--- a/xscreensaver-5.12-webcollage-ppm-gnome569671.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- xscreensaver-5.12/hacks/vidwhacker.debug 2007-07-11 03:27:56.000000000 +0900
-+++ xscreensaver-5.12/hacks/vidwhacker 2011-01-21 07:06:13.000000000 +0900
-@@ -378,7 +378,7 @@
- } else {
- my $tmpdir = $ENV{TMPDIR};
- $tmpdir = "/tmp" unless $tmpdir;
-- my $fn = sprintf ("%s/vidwhacker-%08x", $tmpdir, rand(0xFFFFFFFF));
-+ my $fn = sprintf ("%s/vidwhacker-%08x.ppm", $tmpdir, rand(0xFFFFFFFF));
- local *OUT;
- unlink $fn;
- push @all_tmpfiles, $fn;
---- xscreensaver-5.12/hacks/webcollage.debug 2009-10-14 06:19:36.000000000 +0900
-+++ xscreensaver-5.12/hacks/webcollage 2011-01-21 07:08:39.000000000 +0900
-@@ -2709,7 +2709,7 @@
- #
- ##############################################################################
-
--my $image_ppm = sprintf ("%s/webcollage-%08x",
-+my $image_ppm = sprintf ("%s/webcollage-%08x.ppm",
- ($ENV{TMPDIR} ? $ENV{TMPDIR} : "/tmp"),
- rand(0xFFFFFFFF));
- my $image_tmp1 = sprintf ("%s/webcollage-1-%08x",
diff --git a/xscreensaver-5.12-wormhole-fpe.patch b/xscreensaver-5.12-wormhole-fpe.patch
deleted file mode 100644
index 36c08fb..0000000
--- a/xscreensaver-5.12-wormhole-fpe.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- xscreensaver-5.12/hacks/wormhole.c.fpe 2010-05-24 15:19:48.000000000 +0900
-+++ xscreensaver-5.12/hacks/wormhole.c 2010-12-27 02:54:36.000000000 +0900
-@@ -88,6 +88,7 @@
- /*inline*/ static int rnd( int q )
- {
-
-+ if (q < 1) q = 1;
- return random() % q;
-
- }
diff --git a/xscreensaver-5.12-xml-duplicate-list.patch b/xscreensaver-5.12-xml-duplicate-list.patch
deleted file mode 100644
index 0d0b9c3..0000000
--- a/xscreensaver-5.12-xml-duplicate-list.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xscreensaver-5.12/hacks/Makefile.in.list 2010-10-13 18:02:21.000000000 +0900
-+++ xscreensaver-5.12/hacks/Makefile.in 2010-10-13 18:28:53.000000000 +0900
-@@ -118,7 +118,7 @@
- # Programs that are mentioned in XScreenSaver.ad, and that have XML files,
- # but that are not shipped with xscreensaver itself.
- #
--EXTERNALS = cosmos electricsheep extrusion fireflies goban \
-+EXTERNALS = cosmos electricsheep fireflies goban \
- sphereeversion ssystem xaos xdaliclock xearth xfishtank \
- xmountains xplanet xsnow
-
diff --git a/xscreensaver.spec b/xscreensaver.spec
index 62a2217..c58c8d0 100644
--- a/xscreensaver.spec
+++ b/xscreensaver.spec
@@ -1,6 +1,6 @@
%define name xscreensaver
-%define mainversion 5.12
+%define mainversion 5.13
%define beta_ver %{nil}
@@ -10,7 +10,7 @@
%define split_getimage 1
%endif
-%define fedora_rel 14
+%define fedora_rel 1
%undefine extrarel
@@ -64,37 +64,6 @@ Patch30: xscreensaver-5.11-conf264.patch
## Patch31, 32, 33, 34, 35, 36, 37, 38, 39: already sent to the upstream
## Patch40: from the upstream
#
-# For now set LANG to C for daemon because some garbage character appears
-# on passwd prompt
-Patch31: xscreensaver-5.12-for-now-set-lang-on-daemon-to-C.patch
-# Kill memleak on gltext (bug 638600)
-Patch32: xscreensaver-5.12-gltext-memleak.patch
-# Remove duplicate xml files entry
-Patch33: xscreensaver-5.12-xml-duplicate-list.patch
-# Fix the issue that flame is completely blank (bug 642651)
-Patch34: xscreensaver-5.12-flame-completely-blank.patch
-# Remove Gtk-warning
-# "GtkSpinButton: setting an adjustment with non-zero page size is deprecated"
-Patch35: xscreensaver-5.12-gtkspinbox-page-size-to-zero.patch
-# Warn (not say "Error") about missing image directory, and warn
-# only once (bug 648304)
-Patch36: xscreensaver-5.12-warn-only-once-with-missing-image-dir.patch
-# wormhole causes SIGFPE with some size of window (bug 665752)
-Patch37: xscreensaver-5.12-wormhole-fpe.patch
-# Fix one-byte ahead access in apple2.c (may fix bug 666643)
-Patch38: xscreensaver-5.12-apple2-1byte-ahead.patch
-# Make webcollage work again
-# Due to the change in https://bugzilla.gnome.org/show_bug.cgi?id=569671
-# gdk_pixbuf_new_from_file won't recognize ppm file without suffix in filename
-#
-# Well, (after discussing with the upstream) the upstream sees that this issue
-# should be fixed in gdk-pixbuf side, so the upstream may not apply the
-# following patch, however on Fedora let's carry this.
-Patch39: xscreensaver-5.12-webcollage-ppm-gnome569671.patch
-# Cannot type non-ascii character on password window
-# https://bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/671923
-# Patch sent from the upstream, a bit modified
-Patch40: xscreensaver-5.12-upst-XLookupString-may-return-string.patch
# driver/test-passwd tty segfaults
Patch41: xscreensaver-5.12-test-passwd-segv-tty.patch
# patch to compile driver/test-xdpms
@@ -288,16 +257,6 @@ This package contains some test programs to debug XScreenSaver.
%patch1 -p1 -b .sanitize-hacks
%patch21 -p1 -b .nonet
%patch30 -p1 -b .conf264
-%patch31 -p1 -b .langc
-%patch32 -p1 -b .gltext_mem
-%patch33 -p1 -b .xmllist
-%patch34 -p1 -b .flame_blank
-%patch35 -p1 -b .spin_warn
-%patch36 -p1 -b .warn_once
-%patch37 -p1 -b .wormhole
-%patch38 -p1 -b .apple2_byte
-%patch39 -p1 -b .webc.ppm
-%patch40 -p1 -b .non_ascii
%patch41 -p1 -b .test_passwd
%patch42 -p1 -b .test_misc
@@ -826,6 +785,9 @@ exit 0
%defattr(-,root,root,-)
%changelog
+* Tue Apr 19 2011 Mamoru Tasaka - 1:5.13-1
+- Update to 5.13
+
* Sun Apr 3 2011 Mamoru Tasaka - 1:5.12-14
- Patch40 revised by jwz
- Fix segv on test-passwd