[prev in list] [next in list] [prev in thread] [next in thread]
List: cairo
Subject: Re: [cairo] Time for a release ?
From: Stanisław_Jeśmanowicz <stan () jesmanowicz ! com>
Date: 2020-09-25 14:45:31
Message-ID: 3db21171-680f-2421-bfbc-61cd33c6d4f7 () jesmanowicz ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hello,
On 25-09-2020 16:17, Matthias Clasen wrote:
> On Wed, Sep 16, 2020 at 9:34 AM Uli Schlachter <psychon@znc.in
> <mailto:psychon@znc.in>> wrote:
>
> Hi,
>
> Am 12.09.20 um 18:23 schrieb Matthias Clasen:
> > The last release (1.17.2) happened in January 2019. There are some
> > important bug fixes in master that I would like to rely on for
> GTK 4.
> > Getting a release with meson would also be very
> > nice.
> >
> > What is the prospects for a 1.7.4 release ?
>
> From the top of my memory, "not much" happened, so that would be
> fine by
> me. If I remember correctly, Bryce did the last release. I
> definitely do
> not have the time for that, sorry.
>
>
> Is Bryce around at all, these days?
>
Before committing new release, please apply my fix to cairo-image-surface.c
The patch is attached.
Function _cairo_image_surface_is_size_valid() should be removed, because
pixmap library have enough checks in pixman_image_create_bit()
to decide if width and height is valid or not.
Regards,
Stanislaw Jesmanowicz
[Attachment #5 (text/html)]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Hello,<br>
<br>
<div class="moz-cite-prefix">On 25-09-2020 16:17, Matthias Clasen
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAFwd_vBPpxA3LK4PFZSKiX3-aQbEcuRr33CRT4hyuU4NxfMDPw@mail.gmail.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr">On Wed, Sep 16, 2020 at 9:34 AM Uli Schlachter
<<a href="mailto:psychon@znc.in" moz-do-not-send="true">psychon@znc.in</a>>
wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
Am 12.09.20 um 18:23 schrieb Matthias Clasen:<br>
> The last release (1.17.2) happened in January 2019.
There are some<br>
> important bug fixes in master that I would like to rely
on for GTK 4.<br>
> Getting a release with meson would also be very<br>
> nice.<br>
> <br>
> What is the prospects for a 1.7.4 release ?<br>
<br>
From the top of my memory, "not much" happened, so that
would be fine by<br>
me. If I remember correctly, Bryce did the last release. I
definitely do<br>
not have the time for that, sorry.<br>
<br>
</blockquote>
<div><br>
</div>
<div>Is Bryce around at all, these days? <br>
</div>
</div>
</div>
<br>
</blockquote>
<br>
Before committing new release, please apply my fix to
cairo-image-surface.c<br>
The patch is attached.<br>
<br>
Function _cairo_image_surface_is_size_valid() should be removed,
because pixmap library have enough checks in
pixman_image_create_bit()<br>
to decide if width and height is valid or not.<br>
<br>
Regards,<br>
Stanislaw Jesmanowicz<br>
<br>
<br>
<br>
<br>
<pre class="moz-signature" cols="72">
</pre>
</body>
</html>
["cairo-1.17.3.patch" (text/x-patch)]
diff -ru cairo-1.17.3.org/src/cairo-image-surface.c cairo-1.17.3/src/cairo-image-surface.c
--- cairo-1.17.3.org/src/cairo-image-surface.c 2020-08-01 21:39:54.382864735 +0200
+++ cairo-1.17.3/src/cairo-image-surface.c 2020-08-08 13:04:23.758524676 +0200
@@ -56,11 +56,6 @@
#include "cairo-surface-snapshot-private.h"
#include "cairo-surface-subsurface-private.h"
-/* Limit on the width / height of an image surface in pixels. This is
- * mainly determined by coordinates of things sent to pixman at the
- * moment being in 16.16 format. */
-#define MAX_IMAGE_SIZE 32767
-
/**
* SECTION:cairo-image
* @Title: Image Surfaces
@@ -82,13 +77,6 @@
* Since: 1.8
**/
-static cairo_bool_t
-_cairo_image_surface_is_size_valid (int width, int height)
-{
- return 0 <= width && width <= MAX_IMAGE_SIZE &&
- 0 <= height && height <= MAX_IMAGE_SIZE;
-}
-
cairo_format_t
_cairo_format_from_pixman_format (pixman_format_code_t pixman_format)
{
@@ -351,11 +339,6 @@
cairo_surface_t *surface;
pixman_image_t *pixman_image;
- if (! _cairo_image_surface_is_size_valid (width, height))
- {
- return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
- }
-
pixman_image = pixman_image_create_bits (pixman_format, width, height,
(uint32_t *) data, stride);
@@ -529,9 +512,6 @@
if ((stride & (CAIRO_STRIDE_ALIGNMENT-1)) != 0)
return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_STRIDE));
- if (! _cairo_image_surface_is_size_valid (width, height))
- return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
-
minstride = cairo_format_stride_for_width (format, width);
if (stride < 0) {
if (stride > -minstride) {
@@ -759,9 +739,6 @@
TRACE ((stderr, "%s (other=%u)\n", __FUNCTION__, other->base.unique_id));
- if (! _cairo_image_surface_is_size_valid (width, height))
- return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
-
if (content == other->base.content) {
return _cairo_image_surface_create_with_pixman_format (NULL,
other->pixman_format,
--- cairo-1.17.3.org/test/xcb-huge-image-shm.c 2019-12-06 18:39:16.000000000 +0100
+++ cairo-1.17.3/test/xcb-huge-image-shm.c 2020-08-08 14:32:52.094190803 +0200
@@ -40,6 +40,8 @@
surface = cairo_surface_create_similar (cairo_get_target (cr),
CAIRO_CONTENT_COLOR_ALPHA,
WIDTH, HEIGHT);
+ if (!surface)
+ return CAIRO_TEST_SUCCESS;
/* First we have to defeat xcb's deferred clear */
cr2 = cairo_create (surface);
@@ -48,13 +50,15 @@
/* Now we try to map this to an image. This will try to use shared memory
* but fail the allocation, because of the huge surface. */
- image = cairo_surface_map_to_image (surface, NULL);
- cairo_surface_unmap_image (surface, image);
+ if ((image = cairo_surface_map_to_image (surface, NULL)))
+ {
+ cairo_surface_unmap_image (surface, image);
- /* Finally we make sure that errors aren't lost. */
- cairo_set_source_surface (cr, surface, 0, 0);
- cairo_paint (cr);
- cairo_surface_destroy (surface);
+ /* Finally we make sure that errors aren't lost. */
+ cairo_set_source_surface (cr, surface, 0, 0);
+ cairo_paint (cr);
+ cairo_surface_destroy (surface);
+ }
return CAIRO_TEST_SUCCESS;
}
--- cairo-1.17.3.org/util/cairo-trace/lookup-symbol.c 2019-12-06 18:39:16.000000000 +0100
+++ cairo-1.17.3/util/cairo-trace/lookup-symbol.c 2020-08-08 13:31:37.433462584 +0200
@@ -145,14 +145,26 @@
if (symbol->found)
return;
+#if 1
+ if ((bfd_section_flags (section) & SEC_ALLOC) == 0)
+#else
if ((bfd_get_section_flags (symtab->bfd, section) & SEC_ALLOC) == 0)
+#endif
return;
+#if 1
+ vma = bfd_section_vma (section);
+#else
vma = bfd_get_section_vma (symtab->bfd, section);
+#endif
if (symbol->pc < vma)
return;
+#if 1
+ size = bfd_section_size (section);
+#else
size = bfd_section_size (symtab->bfd, section);
+#endif
if (symbol->pc >= vma + size)
return;
--
cairo mailing list
cairo@cairographics.org
https://lists.cairographics.org/mailman/listinfo/cairo
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic