head 1.36; access; symbols RELEASE_1_0_2:1.34 BRANCH_1_0:1.34.0.2 RELEASE_1_0_0:1.34 BRANCH_SCALED_GLYPH:1.28.0.2 RELEASE_0_9_2:1.28 RELEASE_0_9_0:1.28 SNAPSHOT_0_6_0:1.26 SNAPSHOT_0_5_2:1.26 SNAPSHOT_0_5_1:1.25 SNAPSHOT_0_5_0:1.25 SNAPSHOT_0_4_0:1.25 SNAPSHOT_0_3_0:1.24 SNAPSHOT_0_2_0:1.16 LGPL_CHANGE_AFTER:1.15 LGPL_CHANGE_BEFORE:1.15 SNAPSHOT_0_1_23:1.13 SNAPSHOT_0_1_22:1.10 SNAPSHOT_0_1_21:1.9 SNAPSHOT_0_1_20:1.9 SNAPSHOT_0_1_16:1.6; locks; strict; comment @# @; 1.36 date 2005.10.25.22.55.57; author cworth; state Exp; branches; next 1.35; commitid 24cf435eb7f94567; 1.35 date 2005.10.04.00.39.33; author cworth; state Exp; branches; next 1.34; commitid 6eb04341cf454567; 1.34 date 2005.08.24.12.43.48; author cworth; state Exp; branches; next 1.33; commitid 31f0430c6b824567; 1.33 date 2005.08.24.08.13.36; author cworth; state Exp; branches; next 1.32; commitid a2d430c2c2d4567; 1.32 date 2005.08.23.15.21.46; author cworth; state Exp; branches; next 1.31; commitid 2b13430b3f084567; 1.31 date 2005.08.23.08.55.29; author cworth; state Exp; branches; next 1.30; commitid 1b06430ae47e4567; 1.30 date 2005.08.23.00.20.29; author cworth; state Exp; branches; next 1.29; commitid 5103430a6bca4567; 1.29 date 2005.08.22.23.56.43; author cworth; state Exp; branches; next 1.28; commitid 3cd1430a66394567; 1.28 date 2005.08.07.00.00.59; author cworth; state Exp; branches; next 1.27; commitid 26e042f54f394567; 1.27 date 2005.08.06.23.57.14; author cworth; state Exp; branches; next 1.26; commitid 25d542f54e574567; 1.26 date 2005.07.18.05.15.57; author cworth; state Exp; branches; next 1.25; commitid 39e442db3b0a4567; 1.25 date 2005.02.10.15.46.46; author cworth; state Exp; branches; next 1.24; 1.24 date 2005.01.19.13.32.32; author cworth; state Exp; branches; next 1.23; 1.23 date 2005.01.12.22.40.14; author cworth; state Exp; branches; next 1.22; 1.22 date 2004.12.23.21.49.56; author cworth; state Exp; branches; next 1.21; 1.21 date 2004.12.20.17.53.06; author cworth; state Exp; branches; next 1.20; 1.20 date 2004.12.20.15.32.45; author cworth; state Exp; branches; next 1.19; 1.19 date 2004.12.17.19.31.05; author cworth; state Exp; branches; next 1.18; 1.18 date 2004.11.23.20.53.46; author cworth; state Exp; branches; next 1.17; 1.17 date 2004.11.11.20.15.12; author cworth; state Exp; branches; next 1.16; 1.16 date 2004.10.26.21.38.43; author cworth; state Exp; branches; next 1.15; 1.15 date 2004.08.02.18.51.57; author cworth; state Exp; branches; next 1.14; 1.14 date 2004.07.01.20.38.23; author cworth; state Exp; branches; next 1.13; 1.13 date 2004.05.11.13.52.19; author cworth; state Exp; branches; next 1.12; 1.12 date 2004.05.04.16.25.54; author cworth; state Exp; branches; next 1.11; 1.11 date 2004.04.29.14.26.53; author cworth; state Exp; branches; next 1.10; 1.10 date 2004.04.16.15.33.20; author cworth; state Exp; branches; next 1.9; 1.9 date 2004.04.02.16.01.09; author cworth; state Exp; branches; next 1.8; 1.8 date 2004.03.31.01.24.29; author cworth; state Exp; branches; next 1.7; 1.7 date 2004.03.23.01.56.35; author pippin; state Exp; branches; next 1.6; 1.6 date 2003.10.15.19.26.51; author cworth; state Exp; branches; next 1.5; 1.5 date 2003.09.12.17.53.03; author cworth; state Exp; branches; next 1.4; 1.4 date 2003.09.04.23.27.34; author cworth; state Exp; branches; next 1.3; 1.3 date 2003.07.18.18.34.19; author cworth; state Exp; branches; next 1.2; 1.2 date 2003.04.25.20.34.00; author cworth; state Exp; branches; next 1.1; 1.1 date 2003.04.17.20.24.29; author cworth; state Exp; branches; next ; desc @@ 1.36 log @ 2005-10-25 Carl Worth * BUGS: Add mention of suspected bug in PS backend. @ text @The place to find a current list of known bugs for cairo is: http://bugs.freedesktop.org under either the cairo or libpixman products. New bugs should be reported there as well. [A few old bugs have not been moved to bugs.freedesktop.org and are instead listed below:] -- The caches need to be invalidated at font destruction time. -- The polygon tessellation routine has problems. It appears that the following paper has the right answers: http://cm.bell-labs.com/cm/cs/doc/93/2-27.ps.gz [Hobby93c] John D. Hobby, Practical Segment Intersection with Finite Precision Output, Computation Geometry Theory and Applications, 13(4), 1999. Recent improvements to make the intersection code more robust (using 128-bit arithmetic where needed), have exposed some of the weakness in the current tessellation implementation. So, for now, filling some polygons will cause "leaking" until we implement Hobby's algorithm. -- Stroke extents might not work for degenerate cases, (e.g. single vertical or horizontal line). -- Stroke width of 0 might do bad things. -- Could there be a bug in PS backend exposed by?: cairo_save cairo_clip cairo_restore ... This needs a new testcase. @ 1.35 log @Add a couple of potential bugs to BUGS. @ text @d40 10 @ 1.34 log @ 2005-08-24 Carl Worth * BUGS: Add pointer to http://bugs.freedesktop.org. @ text @d8 1 a8 1 [A few old bugs have not bee moved to bugs.freedesktop.org and are a16 4 Splines are not dashed. -- d30 10 @ 1.33 log @2005-08-24 Carl Worth * src/cairo.c: (cairo_show_text): Fix cairo_show_text to advance the current point. Add documentation for cairo_show_text. * test/.cvsignore: * test/Makefile.am: * test/show-text-current-point-ref.png: * test/show-text-current-point.c: (draw), (main): Add test to verify that the current-point-advancing behavior of cairo_show_text is working. * BUGS: Remove bug about cairo_show_text not advancing the current point. @ text @d1 12 @ 1.32 log @ 2005-08-23 Carl Worth * BUGS: * src/cairo-xlib-screen.c: Move comment about missing cleanup of caches on XCloseDisplay from BUGS to a _cairo_xlib_close_display. Also covered in bug #4120. @ text @a21 4 -- cairo_show_text is not updating the current point by the string's advance values. @ 1.31 log @ 2005-08-23 Carl Worth * BUGS: caps only added to last subpath: COVERED by test/caps-sub-paths and bug #4205. @ text @a0 7 cairo-xlib-surface needs to do the Xlib register extension hack so that it can listen for a Display close event. When it gets that, it needs to run through its caches and eliminate anything associated with that display. -- @ 1.30 log @ 2005-08-22 Carl Worth * BUGS: ref_counts will go negative: COVERED by https://bugs.freedesktop.org/show_bug.cgi?id=4198 @ text @a32 4 -- Caps are added only to the last subpath in a complex path. @ 1.29 log @ 2005-08-22 Carl Worth * BUGS: Remove several entries in an effort to obsolete the BUGS file in favor of bugzilla and cairo/test. Specifically: cairo_image_surface_create should clear image: NOTABUG. The user can clear if desired, and cairo clearing unconditionally would be performance overhead). cairo_clip is really slow: FIXED/COVERED. Since the time this entry was added we've got rectangular, pixel-alignend clipping optimized. And there's a bug in bugzilla (https://bugs.freedesktop.org/show_bug.cgi?id=4191) for optimizing IN. self-intersecting path is wrong: COVERED by test/self-intersecting.c. Cairo is crashing Xnest: NEEDINFO. Is this still happening? Xfake has been working quite well for a very long time now. font-size=0 in SVG does bad things: FIXED. @ text @a36 6 -- ref_counts will go negative if destroy is called with ref_count == 0. We noticed this in cairo_surface.c but it likely happens in several places. @ 1.28 log @ 2005-08-06 Carl Worth * BUGS: Remove several bugs that have been fixed. @ text @a7 5 cairo_image_surface_create should return a blank image (eg. transparent black) instead of an image with random data in it. -- a11 6 cairo_clip is really slow, (with at least the Xlib and image backends). An accelerated implementation of the IN operator would probably help a lot here. -- a31 17 Stroking a self-intersecting path generates the wrong answer, (in mostly subtle ways). The fix is to tessellate a giant polygon for the entire stroke outline rather than incrementally generating trapezoids. -- Cairo is crashing Xnest with the following message: X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 72 (X_PutImage) Serial number of failed request: 28 Current serial number in output stream: 29 confirmed on a quite default install of debian unstable. -- a42 9 -- font-size="0" in an SVG file does very bad things. -- cairo falls over with XFree86 4.2 (probably braindead depth handling somewhere). @ 1.27 log @ 2005-08-06 Carl Worth * BUGS: Remove several bugs that have been fixed. * ROADMAP: Slip group support off of the 1.0 roadmap. Update status of clipping work which otaylor is working on. * TODO: Update for progress on cairo_surface_mark_dirty (committed), non-antialiased rendering (patch), cairo_arc_to (patch), consistent error handling (committed), cairo_content_t (committed). Remove details for some completed items. * src/cairo-gstate.c (_cairo_gstate_set_font_face): Don't crash if font_face is NULL, (this is a documented mechanism for returning to the default font_face). @ text @a12 10 Scaling of surface patterns is all broken, (try xsvg gradPatt-pattern-BE-07.svg and zoom in and out). -- centi_unfinished.svg has big black portions when drawn with svg2png, (but not when drawn with xsvg). -- a59 18 cairo_scale_font modifies objects that the user expects to not change. For example: cairo_font_t *font; cairo_select_font (cr, "fixed", 0, 0); font = cairo_current_font (cr); cairo_scale_font (cr, 10); cairo_show_text (cr, "all is good"); cairo_set_font (cr, font); cairo_scale_font (cr, 10); cairo_show_text (cr, "WAY TOO BIG!!); We could fix this by not storing the scale in the font object. Or maybe we could just force the size to its default after set_font. Need to think about this in more detail. -- a73 7 Patterns are broken in various ways. The SVG test case demonstrates some regressions, so something has changed in cairo. Also, transformation plus repeat doesn't work in either Xrender or libpixman, (nor in glitz?). -- a77 11 move_to_show_surface (see cairo/test): * 2004-10-25 Carl Worth * * It looks like cairo_show_surface has no effect if it follows a * call to cairo_move_to to any coordinate other than 0,0. A little * bit of poking around suggests this isn't a regression, (at least * not since the last pixman snapshot). -- a79 7 -- The caches abort when asked for a too-large item, (should be possible to trigger by asking for a giant font, "cairo_scale_font (cr, 2000)" perhaps). Even if the caches don't want to hold them, we need to be able to allocate these objects. @ 1.26 log @ * BUGS: Add note that Xlib caches need to be cleand up on close of display. @ text @a7 11 cairo_show_surface fails when given a non-default CTM, see the show_surface.cairo snippet in: From: Per Bjornsson To: Cairo mailing list Date: Wed, 09 Feb 2005 20:05:35 -0800 Message-Id: <1108008335.5349.46.camel@@localhost.localdomain> Subject: [cairo] How is cairo_show_surface supposed to work? -- a12 18 cairo_surface_create_for_image is claiming ownership of the user's data. -- cairo_font_set_transform should be renamed cairo_font_set_matrix cairo_font_current_transform should be renamed cairo_font_get_matrix -- Alexis Georges reports a segfault on AMD64 with a simple program, (that works in a 32bit chroot). -- The caches need to have some locking (see: [cairo] Static caches and thread-safety) -- @ 1.25 log @ * BUGS: Add bug for cairo_show_surface under non-default CTM. @ text @d1 7 @ 1.24 log @ * BUGS: Add bugs on cairo_surface_create_for_image, bad names for cairo_font_set_transform and cairo_font_current_transform, segfault on AMD64. @ text @d1 16 @ 1.23 log @ * src/cairo.c (cairo_sane_state): A NULL cairo_t * is not sane. * cairo.pc.in (Libs,Cflags): Add freetype flags so that things work with freetype in a non-standard location, (a little extra work here since freetype doesn't use pkg-config). * TODO: Add several items culled from recent mailing list discussions. * BUGS: Add bugs on cache locking and surface pattern scaling. @ text @d1 15 a15 1 The caches need to have some locking. @ 1.22 log @ * src/cairo_traps.c: Remove unused CAIRO_TRAPS_GROWTH_INC. * src/cairo_spline.c (_cairo_spline_add_point): * src/cairo_polygon.c (_cairo_polygon_add_edge): Resize arrays by doubling rather than by linear increments. * BUGS: Add new bug exposed centi_unfinished.svg. @ text @d1 7 @ 1.21 log @ * src/cairoint.h: Re-enabled __internal_linkage for all internal functions. Now avoid the warning by moving the * from the return type after the __internal_linkage macro. It looks awaful, but it keeps the compiler quiet. @ text @d1 7 @ 1.20 log @ * BUGS: Add bug about gcc 3.4 warning: '__visibility__' attribute ignored on non-class types. * src/cairoint.h: Remove __internal_linkage macro from all functions returning pointers to shut up warning from gcc 3.4. @ text @a0 12 As of gcc 3.4, all uses of the __internal_linkage macro on functions returning pointers to structured types are causing a warning of the form: cairoint.h:406: warning: `__visibility__' attribute ignored on non-class types I'm commenting these out to shut up the compiler, and tagging each case with "XXX-NON-CLASS:". We should determine if these uses should be removed completely or if they can be fixed in some way. -- @ 1.19 log @ * BUGS: Add bug about invalidating font caches. @ text @d1 12 @ 1.18 log @ * test/text_cache_crash.c: Add note that bug has been fixed. (main): Instrumentation code for testing cache destruction. * test/cairo_test.c (cairo_test): Support tests that produce no output, (don't check image if (width,height) == (0,0)). * src/cairoint.h: Add #include here rather than in multiple .c files. * src/cairo_cache.c: Add const qualifier to static cache_arrangements table. (_cache_sane_state): Remove refcount assertion as it it false during the cairo_cache_destroy. (_cache_sane_state): #include moved up to cairoint.h (_entry_destroy): Fix bug in assertion (used_memory >= entry->memory), not >. (_cairo_cache_destroy): Fix timing of refcount decrement so that the destroy function actually works. @ text @d1 4 @ 1.17 log @Added BUG entry @ text @d100 7 @ 1.16 log @ * test/.cvsignore: * test/Makefile.am: * test/README: * test/cairo_test.c: * test/cairo_test.h: * test/line_width-ref.png: * test/line_width.c: * test/move_to_show_surface-ref.png: * test/move_to_show_surface.c: * test/read_png.c: * test/read_png.h: * test/write_png.c: * test/write_png.h: * test/xmalloc.c: * test/xmalloc.h: Add initial regression test suite. * configure.in: Don't AC_SUBST a dozen different FOO_CFLAGS and FOO_LIBS. Instead, incrementally build up just CAIRO_CFLAGS and CAIRO_LIBS. * cairo.pc.in (Libs): Don't list flags that should get picked up via dependency information through Requires. * BUGS (font-size): Add description of move_to_show_surface. @ text @d95 5 @ 1.15 log @ * BUGS: Note that cairo_clip is fixed now. @ text @d84 11 @ 1.14 log @Add missing ChangeLog entry. Add description of current tessellation bugs. @ text @d1 3 a3 3 cairo_clip is returning the wrong result in several cases. And when it doesn't get the wrong result, it is horribly slow. This really needs to be fixed. @ 1.13 log @ * BUGS: Several people have reported that cairo_clip is not working right now. And it's always been slow. @ text @d20 5 @ 1.12 log @ * src/cairo_png_surface.c (cairo_png_surface_create): Move all libpng-related code into copy_page. (unpremultiply_data): Add missing unpremultiply step. (_cairo_png_surface_copy_page): Move PNG output to copy_page. Add support for A8 and A1 images. Remove time from header (we may want to add it again later, but for now it messes up my test suite). (_cairo_png_surface_destroy): Call copy_page if it hasn't been called already. (_cairo_png_surface_show_page): Add implementation. @ text @d1 6 @ 1.11 log @Added a BUG and a TODO item @ text @d69 4 @ 1.10 log @ * src/cairo_image_surface.c (_create_pixman_format): Track pixman fixes to PIXMAN_FORMAT_NAME_*. * src/cairo_png_surface.c (cairo_png_surface_create): Explicitly add cases for all enum values to eliminate compiler warnings. * src/cairo.h: Remove proposal for surface_clip interface as cairo_clip should be able to cover this case now. * BUGS: Added bug concerning negative ref_counts. @ text @d60 1 a60 1 0. We noticed this is cairo_surface.c but it likely happens in several d62 7 @ 1.9 log @ * src/cairo.h: Move weight after slant to match the order in cairo_select_font. * TODO: Added notes on DPI for image-based backends and on proposal for new cairo_text_glyphs function. * BUGS: Added BUG about cairo_show_text not advancing the current point. @ text @d56 6 @ 1.8 log @ * src/cairo.h: Add proposal for cairo_xlib_surface_set_size. * BUGS: Added note about problem with cairo_scale_font. @ text @d51 4 @ 1.7 log @cairo usage is crashing Xnest @ text @d3 2 d14 2 d20 2 d31 21 @ 1.6 log @Added bug about self-intersecting paths. (Really, I'm just testing the cairo-commit mailing list) @ text @d16 8 @ 1.5 log @Added a few items to BUGS/TODO @ text @d12 3 a15 1 @ 1.4 log @Fixed bugs if cairo_stroke/fill called before cairo_set_rgb_color or cairo_set_target. Also fixed bug when cairo_set_rgb_color is called before cairo_set_target. @ text @d1 13 @ 1.3 log @Renamed everything from Xr* to cairo_* @ text @a0 2 SEGV if cairo_set_rgb_color is called before cairo_set_target_drawable SEGV if cairo_fill is called before cairo_set_rgb_color @ 1.2 log @Fixed libtool versioning @ text @d1 3 a3 2 SEGV if XrSetRGBColor is called before XrSetTargetDrawable SEGV if XrFill is called before XrSetRGBColor @ 1.1 log @Switched to autotools. Dropped XrPush/PopGroup. Supports non-X Xc rendering. @ text @d2 1 @