mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
60
gfx/cairo/dasharray-zero-gap.patch
Normal file
60
gfx/cairo/dasharray-zero-gap.patch
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
diff --git a/gfx/cairo/cairo/src/cairo-quartz-surface.c b/gfx/cairo/cairo/src/cairo-quartz-surface.c
|
||||
--- a/gfx/cairo/cairo/src/cairo-quartz-surface.c
|
||||
+++ b/gfx/cairo/cairo/src/cairo-quartz-surface.c
|
||||
@@ -2573,29 +2573,43 @@ static cairo_int_status_t
|
||||
|
||||
if (style->dash && style->num_dashes) {
|
||||
#define STATIC_DASH 32
|
||||
cairo_quartz_float_t sdash[STATIC_DASH];
|
||||
cairo_quartz_float_t *fdash = sdash;
|
||||
unsigned int max_dashes = style->num_dashes;
|
||||
unsigned int k;
|
||||
|
||||
- if (style->num_dashes%2)
|
||||
- max_dashes *= 2;
|
||||
- if (max_dashes > STATIC_DASH)
|
||||
- fdash = _cairo_malloc_ab (max_dashes, sizeof (cairo_quartz_float_t));
|
||||
- if (fdash == NULL)
|
||||
- return _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
-
|
||||
- for (k = 0; k < max_dashes; k++)
|
||||
- fdash[k] = (cairo_quartz_float_t) style->dash[k % style->num_dashes];
|
||||
-
|
||||
- CGContextSetLineDash (surface->cgContext, style->dash_offset, fdash, max_dashes);
|
||||
- if (fdash != sdash)
|
||||
- free (fdash);
|
||||
+ bool set_line_dash = false;
|
||||
+ if (style->num_dashes % 2 == 0) {
|
||||
+ for (k = 1; k < max_dashes; k++) {
|
||||
+ if (style->dash[k]) {
|
||||
+ set_line_dash = true;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ } else
|
||||
+ set_line_dash = true;
|
||||
+
|
||||
+ if (set_line_dash) {
|
||||
+ if (style->num_dashes%2)
|
||||
+ max_dashes *= 2;
|
||||
+ if (max_dashes > STATIC_DASH)
|
||||
+ fdash = _cairo_malloc_ab (max_dashes, sizeof (cairo_quartz_float_t));
|
||||
+ if (fdash == NULL)
|
||||
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
+
|
||||
+ for (k = 0; k < max_dashes; k++)
|
||||
+ fdash[k] = (cairo_quartz_float_t) style->dash[k % style->num_dashes];
|
||||
+
|
||||
+ CGContextSetLineDash (surface->cgContext, style->dash_offset, fdash, max_dashes);
|
||||
+ if (fdash != sdash)
|
||||
+ free (fdash);
|
||||
+ } else
|
||||
+ CGContextSetLineDash (state.context, 0, NULL, 0);
|
||||
} else
|
||||
CGContextSetLineDash (state.context, 0, NULL, 0);
|
||||
|
||||
|
||||
_cairo_quartz_cairo_path_to_quartz_context (path, state.context);
|
||||
|
||||
_cairo_quartz_cairo_matrix_to_quartz (ctm, &strokeTransform);
|
||||
CGContextConcatCTM (state.context, strokeTransform);
|
||||
Loading…
Add table
Add a link
Reference in a new issue