diff options
Diffstat (limited to 'packages/gpe-bootsplash/files')
-rw-r--r-- | packages/gpe-bootsplash/files/cairofix.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/packages/gpe-bootsplash/files/cairofix.patch b/packages/gpe-bootsplash/files/cairofix.patch new file mode 100644 index 0000000000..ff6e288cbc --- /dev/null +++ b/packages/gpe-bootsplash/files/cairofix.patch @@ -0,0 +1,43 @@ +--- /tmp/splash.c 2005-10-06 14:45:21.463681488 +0200 ++++ gpe-bootsplash-1.14/splash.c 2005-10-06 14:45:29.480462752 +0200 +@@ -118,7 +118,8 @@ + + tty = open ("/dev/tty0", O_RDWR); + if (tty < 0) +- perror ("open"); ++ tty = open ("/dev/vc/0", O_RDWR); ++ if (tty < 0) perror ("open"); + else + { + write (tty, cursoff, strlen (cursoff)); +@@ -176,6 +177,7 @@ + double scale, xscale, yscale; + svg_cairo_status_t status; + int width, height; ++ cairo_surface_t *surface; + + status = svg_cairo_create (&svgc); + if (status) +@@ -201,17 +203,17 @@ + xsize = (double)width * scale + 0.5; + ysize = (double)height * scale + 0.5; + +- cr = cairo_create (); +- cairo_scale (cr, scale, scale); + + pix = malloc (xsize * ysize * 4); + stride = xsize * 4; + has_alpha = TRUE; + +- cairo_set_target_image (cr, pix, CAIRO_FORMAT_ARGB32, xsize, ysize, xsize * 4); +- ++ surface = cairo_image_surface_create_for_data(pix, CAIRO_FORMAT_ARGB32, xsize, ysize, stride); ++ cr = cairo_create (surface); ++ cairo_scale (cr, scale, scale); ++ + /* XXX: This probably doesn't need to be here (eventually) */ +- cairo_set_rgb_color (cr, 1, 1, 1); ++ cairo_set_source_rgb (cr, 1, 1, 1); + + svg_cairo_render (svgc, cr); + |