cairo/src
Chris Wilson dced42a680 xlib: Avoid using uninitialised variable on impossible error path
In commit f6843d5cbb
Author: Arpit Jain <jain.arpit@samsung.com>
Date:   Mon Jul 6 14:13:06 2015 -0700

    xlib: Fix deferencing of uninitialised 'display'

the common error + clenaup path was clumsily fixed to use the right
variable after the error didn't set the local display variable.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-07-06 22:28:20 +01:00
..
drm Fix spellings descibed, indicies, stange 2015-04-04 15:49:18 -07:00
skia src: Fix memory issue reported by cppcheck static analysis tool 2014-08-27 20:39:49 -07:00
win32 win32: Add cairo API to set up a Win32 surface for an HDC with an alpha channel. 2015-04-13 17:43:28 -07:00
.gitignore gitignore: negate gitignore for static pkgconfig files 2013-03-18 14:02:02 +01:00
cairo-analysis-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-analysis-surface.c snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-arc-private.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-arc.c arc: Insert the initial point on the arc 2014-09-24 12:35:47 +01:00
cairo-array-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-array.c Avoid appending an empty slot to an user data array when user_data is NULL. 2015-04-20 17:16:18 -07:00
cairo-atomic-private.h Support new-style __atomic_* primitives 2015-06-04 13:25:23 -07:00
cairo-atomic.c atomic: Tweak for compilation x86. 2010-04-29 10:04:54 +01:00
cairo-backend-private.h Fix make check 2012-09-24 09:42:43 +02:00
cairo-base64-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-base85-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann-rectangular.c bo-rectangular: Emit subsummed boxes for overlapping edges 2012-05-23 11:50:34 +01:00
cairo-bentley-ottmann-rectilinear.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-bentley-ottmann.c stroke,traps: Emit join without loss of precision 2014-09-29 08:42:17 +01:00
cairo-beos-surface.cpp Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +01:00
cairo-beos.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-botor-scan-converter.c Remove some unused functions 2012-05-05 10:14:54 +02:00
cairo-box-inline.h Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-boxes-intersect.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-boxes-private.h boxes: Remove unused inline function 2012-04-19 12:14:26 +01:00
cairo-boxes.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-cache-private.h Fix warnings from check-doc-syntax.sh 2014-03-13 17:12:43 -07:00
cairo-cache.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-cff-subset.c cff: ensure glyph widths are positive when font matrix yy is negative 2015-05-21 22:40:01 +09:30
cairo-clip-boxes.c clip: Fix handling of special all-clipped cairo_clip_t 2014-03-06 09:51:56 +01:00
cairo-clip-inline.h Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-polygon.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-private.h Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-clip-region.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip-surface.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-clip-tor-scan-converter.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-clip.c clip: Transform clip path in _cairo_clip_intersect_clip_path_transformed() 2012-07-24 11:06:29 +02:00
cairo-cogl-context-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-context.c doc: fix a few typos found by codespell 2012-03-10 10:20:28 +01:00
cairo-cogl-gradient-private.h doc: ensure "compatibility" spelling 2012-03-10 10:20:29 +01:00
cairo-cogl-gradient.c doc: ensure "compatibility" spelling 2012-03-10 10:20:29 +01:00
cairo-cogl-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-surface.c Don't return NULL to clients when getting device 2014-09-22 15:48:49 -07:00
cairo-cogl-utils-private.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl-utils.c backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-cogl.h backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
cairo-color.c _cairo_color_double_to_short(): Use standard rounding algorithm 2013-10-22 14:27:43 -04:00
cairo-combsort-inline.h Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-compiler-private.h clang-cl: Use size of the pointer explicitly 2014-07-09 16:35:30 -04:00
cairo-composite-rectangles-private.h xcb: track fallback damage 2011-09-19 15:23:57 +01:00
cairo-composite-rectangles.c image: Corrected extents calculations 2014-10-10 18:09:14 -07:00
cairo-compositor-private.h xlib: Only fallback through the mask intermediate if we can composite the mask 2013-01-11 13:18:26 +00:00
cairo-compositor.c compositor: Skip invisible strokes 2012-08-26 11:07:57 +01:00
cairo-contour-inline.h Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-contour-private.h Split cairo-contour-privates into struct+inlines 2012-04-19 12:25:42 +01:00
cairo-contour.c Remove some useless declarations found by scan-build, the LLVM/clang static analyzer 2014-05-06 10:14:53 -07:00
cairo-damage-private.h xlib/shm: Discard damage upon shm finish 2013-01-08 16:07:32 +00:00
cairo-damage.c xlib/shm: Discard damage upon shm finish 2013-01-08 16:07:32 +00:00
cairo-debug.c doc: Add "since" tag to documentation 2012-03-29 11:03:18 +02:00
cairo-default-context-private.h qt: Fix compilation, also minor fix for building against Qt5 2012-02-12 09:57:00 +00:00
cairo-default-context.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-deflate-stream.c Remove if's from Makefile.sources 2011-06-14 15:25:08 +02:00
cairo-deprecated.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-device-private.h device: Make flush vfunc return a cairo_status_t 2010-06-07 13:37:48 +02:00
cairo-device.c pdf: support JBIG2 mime data 2013-09-15 20:50:46 +09:30
cairo-directfb-surface.c directfb: Correctly chain up map-to-image/unmap to the image backend 2013-05-14 11:36:27 +01:00
cairo-directfb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-drm.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-egl-context.c gl: Increase default VBO size on GL to 1M 2014-09-19 17:23:50 -07:00
cairo-error-inline.h Split cairo-error-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-error-private.h Add explanation to enum _cairo_int_status 2014-02-26 18:40:12 -08:00
cairo-error.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-fallback-compositor.c surface: Use the internal map/unmap 2012-05-26 16:07:00 +02:00
cairo-features-uninstalled.pc.in build: Fudge the build system some more so it handles extra libs 2010-08-10 01:24:30 +02:00
cairo-features.pc.in build: Fudge the build system some more so it handles extra libs 2010-08-10 01:24:30 +02:00
cairo-fixed-private.h Correct spelling of "tessellator" throughout code 2014-02-26 18:55:25 -08:00
cairo-fixed-type-private.h Correct spelling of "tessellator" throughout code 2014-02-26 18:55:25 -08:00
cairo-fixed.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-font-face-twin-data.c [twin] Improve glyph hints 2008-12-25 02:46:27 -05:00
cairo-font-face-twin.c clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-font-face.c Oops, fixup previous commit 2015-04-21 14:31:53 -07:00
cairo-font-options.c doc: Silence warnings about 'Since' field in private functions 2012-03-29 11:03:19 +02:00
cairo-fontconfig-private.h Make distcheck happy. 2010-07-12 11:05:57 +01:00
cairo-freed-pool-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-freed-pool.c freed-pool: Don't access beyond the end of the array. 2010-05-20 21:57:58 +01:00
cairo-freelist-private.h Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-freelist-type-private.h freelist: Separate freelist inlines from the datatype in headers. 2010-09-02 14:51:30 +01:00
cairo-freelist.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-ft-font.c Remove debug printf; ouch! 2015-04-23 14:26:14 -07:00
cairo-ft-private.h headers: fix include order for AIX, bug#89354 2015-03-05 17:03:28 -08:00
cairo-ft.h doc: move value descriptions up 2012-03-10 10:20:29 +01:00
cairo-gl-composite.c gl: Track the VBO size as a property of the ctx 2014-09-19 17:23:50 -07:00
cairo-gl-device.c gl: Track the VBO size as a property of the ctx 2014-09-19 17:23:50 -07:00
cairo-gl-dispatch-private.h gl/msaa: Use GL_IMG_multisampled_render_to_texture when available 2012-12-05 16:17:10 -08:00
cairo-gl-dispatch.c gl/msaa: Use GL_IMG_multisampled_render_to_texture when available 2012-12-05 16:17:10 -08:00
cairo-gl-ext-def-private.h gl: Fix build issues for GLES2 2011-05-10 08:35:26 +01:00
cairo-gl-glyphs.c gl: Fix compiler warnings in the GL backend 2013-05-07 12:01:17 -07:00
cairo-gl-gradient-private.h gl: Compile fix, missing include cairo-pattern-private.h 2011-07-18 10:31:25 +01:00
cairo-gl-gradient.c gl: Flush context upon evicting a gradient 2012-12-01 17:08:56 +00:00
cairo-gl-info.c Get make check back to a happy spot 2014-10-03 12:34:06 -07:00
cairo-gl-msaa-compositor.c gl: Fix compiler warnings in the GL backend 2013-05-07 12:01:17 -07:00
cairo-gl-operand.c gl: Move glGetUniformLocation to shader compile time. 2013-06-28 11:53:04 +01:00
cairo-gl-private.h gl: Increase default VBO size on GL to 1M 2014-09-19 17:23:50 -07:00
cairo-gl-shaders.c Manually transpose the matrix in _cairo_gl_shader_bind_matrix() 2015-05-18 15:03:29 -07:00
cairo-gl-source.c gl: Replace manual vertex transformation with VS computation of texcoords 2013-02-04 09:57:53 +00:00
cairo-gl-spans-compositor.c gl/spans: Handle SOURCE operations with opaque sources. 2013-02-07 13:25:33 -08:00
cairo-gl-surface-legacy.c gl: do not force flush everytime uploading a glyph image to glyph cache 2013-02-04 10:49:37 +00:00
cairo-gl-surface.c gl: Handle PIXMAN_a8r8g8b8_sRGB format in switch 2014-02-25 12:14:36 -08:00
cairo-gl-traps-compositor.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-gl.h cairo-gl: Still check the value of the macros 2015-07-06 14:11:57 -07:00
cairo-glx-context.c gl: Don't query the display when checking if the context changed 2013-01-23 16:55:38 -08:00
cairo-gstate-private.h context: Add missing functions to transform between user and backend coordinates 2012-09-10 15:09:15 +01:00
cairo-gstate.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-hash-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-hash.c hash: Keep a simple lut in front of the main hash 2012-03-10 10:46:49 +00:00
cairo-hull.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-compositor.c image: Fix crash in _fill_xrgb32_lerp_opaque_spans 2014-12-05 19:16:43 -08:00
cairo-image-info-private.h pdf: support JBIG2 mime data 2013-09-15 20:50:46 +09:30
cairo-image-info.c CFF: Fix unaligned access 2014-10-19 11:54:25 +10:30
cairo-image-mask-compositor.c mask compositor: Set a check_composite method 2014-03-21 14:09:37 +01:00
cairo-image-source.c image: Move filter decision to _cairo_pattern_analyze_filter 2014-10-10 18:08:48 -07:00
cairo-image-surface-inline.h image: Check for an error surface before dereferencing the backend 2012-09-08 15:12:58 +01:00
cairo-image-surface-private.h image: Add a convenience function for creating an image from another's data 2013-02-01 16:36:03 +00:00
cairo-image-surface.c image: Fix bad HTML generation in code docs for cairo-format-stride-for-width 2014-02-26 18:36:15 -08:00
cairo-line-inline.h stroke,traps: Emit join without loss of precision 2014-09-29 08:42:17 +01:00
cairo-line-private.h Get make check back to a happy spot 2014-10-03 12:34:06 -07:00
cairo-line.c stroke,traps: Emit join without loss of precision 2014-09-29 08:42:17 +01:00
cairo-list-inline.h xlib: Unlike the visual when destroying it 2013-06-03 13:56:00 +01:00
cairo-list-private.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-lzw.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-malloc-private.h doc: Make documentation comments symmetric 2012-03-29 11:03:18 +02:00
cairo-mask-compositor.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-matrix.c V5: Use NEAREST filter when possible 2014-08-14 12:59:07 -07:00
cairo-mempool-private.h Fix make check 2012-09-24 09:42:43 +02:00
cairo-mempool.c mempool: Reduce an assert into an error return for get_buddy() 2013-03-15 09:11:28 +00:00
cairo-mesh-pattern-rasterizer.c mesh-rasterize: Fix number of iterations 2014-03-21 14:10:19 +01:00
cairo-misc.c Fix cairo_get_locale_decimal_point() on Android 2015-06-05 20:53:11 -07:00
cairo-mono-scan-converter.c mono-scan-converter: Use edge->is_vertical flag 2012-03-10 10:46:50 +00:00
cairo-mutex-impl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-list-private.h Use the new pixman_glyph_cache_t API that will be in pixman 0.28.0 2012-06-09 15:52:59 -04:00
cairo-mutex-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-type-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-no-compositor.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-observer.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-os2-private.h os2: Fix blitting 24 bpp pixel data. 2010-08-08 22:29:39 +03:00
cairo-os2-surface.c surface: Make backend-specific map/unmap functions symmetric 2012-05-26 16:06:31 +02:00
cairo-os2.h os2: New API to create surfaces without a persistent HPS. 2010-08-08 22:29:39 +03:00
cairo-output-stream-private.h Mark recently added _cairo_output_stream_print_matrix private symbol 2014-03-13 15:13:04 -07:00
cairo-output-stream.c Fix compilation with bionic libc 2014-09-23 11:40:03 -07:00
cairo-paginated-private.h image: extend support of direct replay for paginated surfaces 2011-07-29 18:39:27 +01:00
cairo-paginated-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-paginated-surface.c surface: expose the device scale 2013-09-05 16:08:19 +01:00
cairo-path-bounds.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-path-fill.c fill: Fix unantialiased rectilinear-fill-to-boxes 2011-09-30 15:58:14 +01:00
cairo-path-fixed-private.h Mark _cairo_path_is_simple_quad as private 2013-01-27 16:29:41 +00:00
cairo-path-fixed.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-path-in-fill.c stroke: Convert the outlines into contour and then into a polygon 2011-08-15 10:31:47 +01:00
cairo-path-private.h Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
cairo-path-stroke-boxes.c stroker: Avoid emitting a miter join for across an elided degenerate segment 2012-08-20 14:21:23 +01:00
cairo-path-stroke-polygon.c Remove some useless declarations found by scan-build, the LLVM/clang static analyzer 2014-05-06 10:14:53 -07:00
cairo-path-stroke-traps.c win32: Fix compilation of 'cairo-path-stroke-traps.c' with MSVC8 2014-11-20 12:26:52 -08:00
cairo-path-stroke-tristrip.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-path-stroke.c stroke: Use round-joins near inflection points of splines 2013-03-14 10:32:43 -07:00
cairo-path.c path: Convert from backend coordinates back into user coordinates 2012-09-10 15:09:18 +01:00
cairo-pattern-inline.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-pattern-private.h image: Corrected extents calculations 2014-10-10 18:09:14 -07:00
cairo-pattern.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-pdf-operators-private.h pdf-operators: only wrap text strings for PS output 2014-10-31 19:26:05 +10:30
cairo-pdf-operators.c pdf-operators: fix bug with RTL text 2014-11-20 10:16:06 +10:30
cairo-pdf-shading-private.h Update FSF address 2011-07-31 13:05:21 +02:00
cairo-pdf-shading.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-pdf-surface-private.h pdf: combine source and mask images into single image 2013-09-29 13:08:02 +09:30
cairo-pdf-surface.c Fix spellings descibed, indicies, stange 2015-04-04 15:49:18 -07:00
cairo-pdf.h Revert accidental push of ps debugging API. 2012-04-14 14:54:07 +01:00
cairo-pen.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-pixman-private.h Make "make check" happy 2013-08-26 17:56:27 +01:00
cairo-png.c png: Avoid marking the surface as in error after a png warning 2013-04-16 11:07:03 +01:00
cairo-polygon-intersect.c polygon-intersection: Delete misleading comments and dead-code 2015-06-04 15:02:01 -07:00
cairo-polygon-reduce.c polygon-reduce: Reduce broken stopped-edge continuation 2012-06-08 17:26:11 +01:00
cairo-polygon.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-private.h Implement cairo_backend_t 2011-07-15 11:05:19 +01:00
cairo-ps-surface-private.h ps: support RASTER_SOURCE patterns 2012-01-31 23:53:45 +10:30
cairo-ps-surface.c pdf-operators: only wrap text strings for PS output 2014-10-31 19:26:05 +10:30
cairo-ps.h Revert accidental push of ps debugging API. 2012-04-14 14:54:07 +01:00
cairo-qt-surface.cpp src: check the surface backend for NULL 2014-09-29 15:59:26 -07:00
cairo-qt.h qt: Define cairo-qt's API as C symbols 2010-07-11 18:53:42 +02:00
cairo-quartz-font.c Fix broken canvas text font size in Inkscape 2015-04-24 18:23:46 -07:00
cairo-quartz-image-surface.c quartz: Check for quartz surface type before conversion 2014-10-03 11:55:59 -07:00
cairo-quartz-image.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-quartz-private.h quartz-image: Fix build 2014-10-03 11:38:48 -07:00
cairo-quartz-surface.c quartz-image: Fix build 2014-10-03 11:38:48 -07:00
cairo-quartz.h quartz: Fix the 32-bits build on MacOSX 10.7 2011-10-01 09:24:08 -07:00
cairo-raster-source-pattern.c Fix warnings from check-doc-syntax.sh 2014-03-13 17:12:43 -07:00
cairo-recording-surface-inline.h Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-recording-surface-private.h pdf: avoid making groups a transparency group if not required 2013-09-11 21:18:45 +09:30
cairo-recording-surface.c cairo-recording-surface: Fix loss of alpha when clipping 2015-06-25 18:54:23 -07:00
cairo-rectangle.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
cairo-rectangular-scan-converter.c Split cairo-combsort-privates into struct+inlines 2012-04-19 12:22:07 +01:00
cairo-reference-count-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-region-private.h Add preliminary damage tracking 2012-02-15 14:21:00 +00:00
cairo-region.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-rtree-private.h Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-rtree.c gl: Decouple the glyph upon eviction 2011-12-07 18:00:18 +00:00
cairo-scaled-font-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-scaled-font-subsets-private.h font: Generate PDFs with correct font names 2014-01-10 20:51:08 +10:30
cairo-scaled-font-subsets.c font: Generate PDFs with correct font names 2014-01-10 20:51:08 +10:30
cairo-scaled-font.c scaled-font: Prevent a recursive mutex lock for removing a failed glyph 2013-06-18 16:08:27 +01:00
cairo-script-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-script-surface.c cairo-script: Return a cairo_status_t error, not FALSE 2015-06-26 16:30:06 -07:00
cairo-script.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-shape-mask-compositor.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-skia-surface.cpp skia : Add Debug support for skia backend 2014-07-10 12:08:01 -07:00
cairo-skia.h skia: Update to use cairo_backend_t interface 2011-08-13 09:58:02 +01:00
cairo-slope-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-slope.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-spans-compositor-private.h image: Enable inplace compositing with opacities for general routines 2013-01-26 16:10:47 +00:00
cairo-spans-compositor.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-spans-private.h src : Fix warn_unused_result warnings from gcc 2014-06-05 16:12:30 -07:00
cairo-spans.c pdf: support JBIG2 mime data 2013-09-15 20:50:46 +09:30
cairo-spline.c Split cairo-box-privates into struct+inlines 2012-04-19 12:16:53 +01:00
cairo-stroke-dash-private.h stroke: Rely on the tessellator to remove self-intersections 2011-08-13 16:41:28 +01:00
cairo-stroke-dash.c dash: Increment dash_remain by the next segment to reduce accumulation errors 2012-04-19 16:12:55 +01:00
cairo-stroke-style.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-surface-backend-private.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-clipper-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-surface-clipper.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface-fallback-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-fallback.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-inline.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-observer-inline.h Split cairo-surface-observer-private into struct+inlines 2012-04-19 12:35:20 +01:00
cairo-surface-observer-private.h Split cairo-surface-observer-private into struct+inlines 2012-04-19 12:35:20 +01:00
cairo-surface-observer.c fix conflicting types for 'sync' on AIX, bug#89338 2015-03-05 12:00:48 -08:00
cairo-surface-offset-private.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-surface-offset.c Split cairo-clip-privates into struct+inlines 2012-04-19 12:19:19 +01:00
cairo-surface-private.h xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-snapshot-inline.h snapshot: Avoid triggering assertion for grabbing the target during destroy 2012-05-01 16:55:22 +01:00
cairo-surface-snapshot-private.h snapshot: Perform the cow under a mutex 2012-04-27 14:10:50 +01:00
cairo-surface-snapshot.c xlib: Implement SHM fallbacks and fast upload paths 2012-08-17 13:58:09 +01:00
cairo-surface-subsurface-inline.h Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-surface-subsurface-private.h Split cairo-surface-subsurface-private into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-surface-subsurface.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-surface-wrapper-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-surface-wrapper.c surface: Merge scratch construction into _cairo_surface_create_scratch 2013-09-05 16:11:09 +01:00
cairo-surface.c surface: Clarify flush documentation 2015-03-18 15:49:41 -07:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c cairo svg: Use \n instead of /n in bitmap fonts 2014-01-19 20:06:25 +01:00
cairo-svg.h doc: Add since documentation for enumeration values 2012-03-29 11:03:19 +02:00
cairo-tee-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tee-surface.c Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:51:03 +01:00
cairo-tee.h clip: Rudimentary support for clip-polygon extraction 2011-07-19 21:14:34 +01:00
cairo-time-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-time.c win32: Fix return value for cairo_time_get 2012-05-20 10:55:25 +01:00
cairo-tor-scan-converter.c tor-scan-converter: Correctly align 64bit types 2014-12-06 10:25:30 +01:00
cairo-tor22-scan-converter.c tor: Fudge the edge if it is projected into a point 2012-09-27 15:29:36 +01:00
cairo-toy-font-face.c font: Push the last reference dec into the backend->destroy() callback 2013-09-17 16:37:47 +01:00
cairo-traps-compositor.c traps,xcb: Set the box count after filtering 2014-08-25 08:55:24 +01:00
cairo-traps-private.h stroke,traps: Emit join without loss of precision 2014-09-29 08:42:17 +01:00
cairo-traps.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-tristrip-private.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-tristrip.c Avoid indiscriminate use of VALGRIND_MAKE_MEM_NOACCESS. 2015-06-26 16:12:33 -07:00
cairo-truetype-subset-private.h win32: add synthetic font subsetting support 2010-11-23 00:13:56 +10:30
cairo-truetype-subset.c Remove some potential double free 2014-05-16 11:11:30 -07:00
cairo-type1-fallback.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-type1-glyph-names.c Type 1 glyph names: Do not use an array of pointers for winansi glyph names 2010-11-06 22:45:11 +10:30
cairo-type1-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-subset.c Fix compilation with bionic libc 2014-09-23 11:40:03 -07:00
cairo-type3-glyph-surface-private.h pdf-operators: only wrap text strings for PS output 2014-10-31 19:26:05 +10:30
cairo-type3-glyph-surface.c pdf-operators: only wrap text strings for PS output 2014-10-31 19:26:05 +10:30
cairo-types-private.h Fix warnings from check-doc-syntax.sh 2014-03-13 17:12:43 -07:00
cairo-unicode.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-uninstalled.pc.in Build -uninstalled.pc files 2008-09-11 00:38:30 -04:00
cairo-user-font-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-user-font.c font: Push the last reference dec into the backend->destroy() callback 2013-09-17 16:37:47 +01:00
cairo-version.c doc: Drop extraneous para's 2015-03-06 19:19:13 -08:00
cairo-version.h Some nasty tracks to make changing version number not cause a total rebuild 2008-08-28 18:18:23 -04:00
cairo-vg-surface.c Split cairo-recording-surface-private into struct+inlines 2012-04-19 12:46:34 +01:00
cairo-vg.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wgl-context.c gl: Check against user-provided invalid sizes 2011-12-05 17:17:26 +00:00
cairo-wideint-private.h wideint: Fix compilation failure for bare use of uint64_t for !HAVE_UINT64_T 2012-05-20 10:55:26 +01:00
cairo-wideint-type-private.h Add UINT32_MAX define. 2011-03-03 16:31:03 -05:00
cairo-wideint.c cairo-wideint: Fix typo in two cairo_uint128 functions 2014-07-24 18:41:37 -07:00
cairo-win32.h win32: Add cairo API to set up a Win32 surface for an HDC with an alpha channel. 2015-04-13 17:43:28 -07:00
cairo-xcb-connection-core.c Remove some useless declarations found by scan-build, the LLVM/clang static analyzer 2014-05-06 10:14:53 -07:00
cairo-xcb-connection-render.c xcb: Verify extension support before sending 2012-09-25 11:27:59 +02:00
cairo-xcb-connection-shm.c xcb: Remove useless error handling 2013-09-16 12:59:03 +02:00
cairo-xcb-connection.c xcb: Query the display's subpixel order via RENDER 2015-01-17 20:11:59 +01:00
cairo-xcb-private.h headers: fix include order for AIX, bug#89354 2015-03-05 17:03:32 -08:00
cairo-xcb-resources.c xcb: Query the display's subpixel order via RENDER 2015-01-17 20:11:59 +01:00
cairo-xcb-screen.c xcb: Query the display's subpixel order via RENDER 2015-01-17 20:11:59 +01:00
cairo-xcb-shm.c mempool: Reduce the assertion into an alignment adjustment for the base 2012-12-01 09:23:37 +00:00
cairo-xcb-surface-core.c Fix width and height args for _cairo_xcb_connection_copy_area() 2014-08-21 12:56:42 -07:00
cairo-xcb-surface-render.c XCB: Don't attach uploaded surfaces as snapshots 2015-06-20 10:59:52 +02:00
cairo-xcb-surface.c xcb: Initialize font options from Xft resources 2014-09-12 18:19:44 +02:00
cairo-xcb.h Add cairo_xcb_surface_set_drawable 2011-12-02 15:31:51 +00:00
cairo-xlib-core-compositor.c image: Corrected extents calculations 2014-10-10 18:09:14 -07:00
cairo-xlib-display.c xlib: Undo debug hack to force fallbacks 2014-08-01 11:30:42 +01:00
cairo-xlib-fallback-compositor.c xlib/shm: Limit use of the impromptu fallback pixmap for uploads 2012-08-17 23:20:01 +01:00
cairo-xlib-private.h headers: fix include order for AIX, bug#89354 2015-03-05 17:03:28 -08:00
cairo-xlib-render-compositor.c xlib: Avoid using uninitialised variable on impossible error path 2015-07-06 22:28:20 +01:00
cairo-xlib-screen.c Split cairo-list into struct+inlines 2012-04-19 13:17:29 +01:00
cairo-xlib-source.c xlib: Bump reference count for recording surface replays 2014-12-31 11:01:45 +00:00
cairo-xlib-surface-private.h headers: fix include order for AIX, bug#89354 2015-03-05 17:03:28 -08:00
cairo-xlib-surface-shm.c Revert "xlib: Remove queued event from _XReadEvents" 2015-03-06 23:35:34 -08:00
cairo-xlib-surface.c Provide backwards compatibilty with old pixman 2013-08-23 12:53:27 +01:00
cairo-xlib-visual.c xlib: Unlike the visual when destroying it 2013-06-03 13:56:00 +01:00
cairo-xlib-xcb-surface.c xlib-xcb: Don't be lazy and use the real xcb_screen_t 2015-01-17 20:12:39 +01:00
cairo-xlib-xrender-private.h Check for XRenderSolidFill() 2013-12-16 19:27:38 -05:00
cairo-xlib-xrender.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib.h xlib: Replace obsolete disable-xrender with shiny new device debug interface 2012-02-22 10:41:37 +00:00
cairo-xml-surface.c xml: constify source objects for emit routines 2014-02-25 12:13:56 -08:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c cairo_create(): Add finished surface check 2013-10-31 20:34:04 -07:00
cairo.h Fix warnings from check-doc-syntax.sh 2014-03-13 17:12:43 -07:00
cairo.pc.in
cairoint.h Oops, fixup previous commit 2015-04-21 14:31:53 -07:00
check-def.sh check: Fix check-def.sh for variations in GCC's linker 2013-06-21 20:18:40 +01:00
check-doc-syntax.awk check-doc-syntax: Don't hardcode path to awk 2013-09-16 12:57:57 +02:00
check-doc-syntax.sh check-doc-syntax: Don't hardcode path to awk 2013-09-16 12:57:57 +02:00
check-has-hidden-symbols.c [check] Move the hidden symbol check into check-{def,plt}.sh 2008-01-11 21:21:34 +00:00
check-headers.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-link.c [src/check-link.c] Simple test to check we can link to the built cairo.so 2008-09-02 21:31:43 -04:00
check-plt.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-preprocessor-syntax.sh test: Teach check-preprocessor-syntax.sh about -inlines.h 2014-10-09 10:56:28 +01:00
Makefile.am doc: Add script to enforce stricter validation of documentation comments 2012-03-29 11:03:18 +02:00
Makefile.am.analysis Improve headers-standalone target 2011-03-21 09:51:00 +01:00
Makefile.sources stroke,traps: Emit join without loss of precision 2014-09-29 08:42:17 +01:00
Makefile.win32 build: Clean up environment variables and flags for the win32 build 2011-06-20 10:24:21 +02:00
Makefile.win32.features backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
test-base-compositor-surface.c stroke: Make the incremental trapezoid stroker optionally available again 2013-01-03 15:07:18 +00:00
test-compositor-surface-private.h check: Make the newly added privates pass make check 2011-09-15 15:55:52 +01:00
test-compositor-surface.c test: Use the highest precision rendering for shapes for generating ref results 2013-06-21 17:30:47 +01:00
test-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-null-compositor-surface.c spans: Pass antialiasing hint down to the backends 2012-03-04 15:38:56 +00:00
test-null-compositor-surface.h Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
test-paginated-surface.c Replace the ad-hoc surface unwrappers with a function pointer 2012-02-09 13:01:17 +00:00
test-paginated-surface.h Update FSF address 2010-04-27 11:13:38 +02:00

Cairo Library Source Code
=========================

This directory contains the source code of the cairo library.


Source Code Listing
-------------------

The canonical list of source files is the file Makefile.sources.  See that
file for how it works.


New Backends
------------

The rule of the thumb for adding new backends is to see how other
backends are integrated.  Pick one of the simpler, unsupported, backends
and search the entire tree for it, and go from there.

To add new backends you need to basically:

  * Modify $(top_srcdir)/configure.in to add checks for your backend.

  * Modify Makefile.sources to add source files for your backend,

  * Modify $(top_srcdir)/boilerplate/ to add boilerplate code for
    testing your new backend.


New API
-------

After adding new API, run "make check" in this directory and fix any
reported issues.  Also add new API to the right location in
$(top_srcdir)/doc/public/cairo-sections.txt and run "make check"
in $(top_builddir)/doc/public to make sure that any newly added
documentation is correctly hooked up.

Do not forget to add tests for the new API.  See next section.


Tests
-----

There are some tests in this directory that check the source code and
the build for various issues.  The tests are very quick to run, and
particularly should be run after any documentation or API changes.  It
does not hurt to run them after any source modification either.  Run
them simply by calling:

	make check

There are also extensive regression tests in $(top_srcdir)/test.  It is
a good idea to run that test suite for any changes made to the source
code.  Moreover, for any new feature, API, or bug fix, new tests should
be added to the regression test suite to test the new code.


Bibliography
------------

A detailed list of academic publications used in cairo code is available
in the file $(top_srcdir)/BIBLIOGRAPHY.  Feel free to update as you
implement more papers.

For more technical publications (eg. Adobe technical reports) just
point them out in a comment in the header of the file implementing them.