commit ca640d1185745665c61689b71c627e1d020a80b7 Author: Federico Mena Quintero Date: Mon Mar 5 08:01:13 2018 -0600 Update NEWS for 2.42.3 And fix a typo in COMPILING.md COMPILING.md | 2 +- NEWS | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) commit a5b09da1a8aa21bacff3dd08fd5a5dcc56824144 Merge: 95c80417 1b95365b Author: Federico Mena Quintero Date: Fri Mar 2 20:32:46 2018 +0000 Merge branch 'librsvg-2.42' into 'librsvg-2.42' Fix the tests that failed in 32 bits; integrate the i386 CI; rustfmt See merge request GNOME/librsvg!29 commit 1b95365b0a2e94df49653908924aa9b94c18cd35 Author: Federico Mena Quintero Date: Fri Mar 2 09:48:17 2018 -0600 Normalize the rustfmt of a few files I missed rsvg_internals/src/coord_units.rs | 4 ++-- rsvg_internals/src/marker.rs | 6 ++--- rsvg_internals/src/viewport.rs | 46 +++++++++++++++++++++------------------ 3 files changed, 30 insertions(+), 26 deletions(-) commit 2d80b742243e65f4e145197caf1fa17bee0fc14a Author: Jordan Petridis Date: Thu Mar 1 14:32:27 2018 +0200 clippy: remove 'redundant_closure' rsvg_internals/src/paint_server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c237298cb1f4eac39dca4166c6e12ccb912c69f1 Author: Jordan Petridis Date: Thu Mar 1 14:28:11 2018 +0200 clippy: remove 'needless_borrow's rsvg_internals/src/gradient.rs | 4 ++-- rsvg_internals/src/node.rs | 2 +- rsvg_internals/src/parsers.rs | 2 +- rsvg_internals/src/pattern.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) commit f82011942296544fa48f6d509e61867250c9baf3 Author: Jordan Petridis Date: Thu Mar 1 14:01:40 2018 +0200 Rustfmt: Switch 'indent_style' to 'Block'. Temporarly switch to sidestep https://github.com/rust-lang-nursery/rustfmt/issues/2496 so people can start using rustfmt and the CI test succed. .rustfmt.toml | 3 +- rsvg_internals/build.rs | 5 +- rsvg_internals/src/aspect_ratio.rs | 520 ++++++++----- rsvg_internals/src/attributes.rs | 19 +- rsvg_internals/src/bbox.rs | 16 +- rsvg_internals/src/clip_path.rs | 23 +- rsvg_internals/src/cnode.rs | 88 ++- rsvg_internals/src/color.rs | 252 ++++--- rsvg_internals/src/coord_units.rs | 23 +- rsvg_internals/src/drawing_ctx.rs | 114 +-- rsvg_internals/src/error.rs | 34 +- rsvg_internals/src/gradient.rs | 310 ++++---- rsvg_internals/src/image.rs | 77 +- rsvg_internals/src/length.rs | 442 +++++++---- rsvg_internals/src/link.rs | 42 +- rsvg_internals/src/marker.rs | 551 ++++++++------ rsvg_internals/src/mask.rs | 68 +- rsvg_internals/src/node.rs | 203 ++--- rsvg_internals/src/opacity.rs | 92 ++- rsvg_internals/src/paint_server.rs | 231 +++--- rsvg_internals/src/parsers.rs | 112 +-- rsvg_internals/src/path_builder.rs | 83 +- rsvg_internals/src/path_parser.rs | 1460 +++++++++++++++++++++--------------- rsvg_internals/src/pattern.rs | 160 ++-- rsvg_internals/src/property_bag.rs | 55 +- rsvg_internals/src/shapes.rs | 291 ++++--- rsvg_internals/src/space.rs | 113 ++- rsvg_internals/src/state.rs | 8 +- rsvg_internals/src/stop.rs | 53 +- rsvg_internals/src/structure.rs | 325 ++++---- rsvg_internals/src/text.rs | 25 +- rsvg_internals/src/transform.rs | 313 ++++---- rsvg_internals/src/viewbox.rs | 70 +- rsvg_internals/src/viewport.rs | 166 ++-- 34 files changed, 3817 insertions(+), 2530 deletions(-) commit ee1e10527f2010445de5d7580f83274a63cc8717 Author: Jordan Petridis Date: Wed Feb 28 18:48:50 2018 +0200 rustfmt: Change the layout of 'import' and 'use'. .rustfmt.toml | 4 ++- rsvg_internals/src/lib.rs | 89 +++++++++++++++++++++++++++++++++++------------ 2 files changed, 70 insertions(+), 23 deletions(-) commit 61ec26183a0f3c0f070f7056b2bf91bc690212dd Author: Jordan Petridis Date: Wed Feb 28 18:42:03 2018 +0200 rustfmt: Skip the attribute slice in build.rs rsvg_internals/build.rs | 295 ++++++++++++++++++++++++------------------------ 1 file changed, 149 insertions(+), 146 deletions(-) commit 3765b24d962a2779a028778d34e3f896ec0c4c55 Author: Jordan Petridis Date: Wed Feb 28 15:11:42 2018 +0200 Normalize comments. .rustfmt.toml | 2 +- rsvg_internals/src/aspect_ratio.rs | 60 ++++------ rsvg_internals/src/bbox.rs | 17 ++- rsvg_internals/src/color.rs | 29 ++--- rsvg_internals/src/coord_units.rs | 6 +- rsvg_internals/src/error.rs | 16 +-- rsvg_internals/src/gradient.rs | 34 +++--- rsvg_internals/src/image.rs | 20 ++-- rsvg_internals/src/length.rs | 182 ++++++++++++---------------- rsvg_internals/src/link.rs | 3 +- rsvg_internals/src/marker.rs | 235 ++++++++++++++++--------------------- rsvg_internals/src/mask.rs | 20 ++-- rsvg_internals/src/node.rs | 21 ++-- rsvg_internals/src/opacity.rs | 18 +-- rsvg_internals/src/paint_server.rs | 8 +- rsvg_internals/src/path_builder.rs | 26 ++-- rsvg_internals/src/path_parser.rs | 62 ++++------ rsvg_internals/src/shapes.rs | 57 ++++----- rsvg_internals/src/structure.rs | 41 +++---- rsvg_internals/src/viewbox.rs | 2 +- 20 files changed, 345 insertions(+), 514 deletions(-) commit fda76326b0b23f7b940c47a75bad465dbcfeca80 Author: Jordan Petridis Date: Wed Feb 28 13:57:36 2018 +0200 Update rustfmt. rsvg_internals/src/link.rs | 2 +- rsvg_internals/src/marker.rs | 2 +- rsvg_internals/src/path_builder.rs | 2 +- rsvg_internals/src/shapes.rs | 14 +++++++------- rsvg_internals/src/structure.rs | 14 +++++++------- 5 files changed, 17 insertions(+), 17 deletions(-) commit ea0ba6aa6a257dc21be3abbf8bda26c9ff65392c Author: Jordan Petridis Date: Wed Feb 28 13:24:16 2018 +0200 Copy .rustmft.toml config from rsvg-bench. .rustfmt.toml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit b2848f6d306423581ed8ee8d2dfb5fbc07373c07 Author: Jordan Petridis Date: Fri Mar 2 13:01:46 2018 +0200 gitlab-ci: Fix the cargo cache. .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2f441e2a7ca093cfbfd04baecb7419b273895a90 Author: Jordan Petridis Date: Fri Mar 2 12:03:34 2018 +0200 gitlab-ci: Create .cargo_cache if it does not exist. .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 471549976fbbb91c81fdfc948e79aabcb7e84d69 Author: Jordan Petridis Date: Fri Mar 2 11:44:24 2018 +0200 gitlab-ci: Do not share the case between branches. .gitlab-ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit b2f5b0f4356a994912ab6f298a4aa485fb528c8f Author: Jordan Petridis Date: Wed Feb 28 13:25:26 2018 +0200 Rustfmt. rsvg_internals/build.rs | 296 ++++---- rsvg_internals/src/aspect_ratio.rs | 448 ++++++++---- rsvg_internals/src/attributes.rs | 23 +- rsvg_internals/src/bbox.rs | 119 +-- rsvg_internals/src/clip_path.rs | 29 +- rsvg_internals/src/cnode.rs | 93 ++- rsvg_internals/src/color.rs | 255 ++++--- rsvg_internals/src/coord_units.rs | 30 +- rsvg_internals/src/drawing_ctx.rs | 343 ++++----- rsvg_internals/src/error.rs | 78 +- rsvg_internals/src/gradient.rs | 598 ++++++++------- rsvg_internals/src/image.rs | 114 +-- rsvg_internals/src/length.rs | 595 ++++++++------- rsvg_internals/src/lib.rs | 228 ++---- rsvg_internals/src/link.rs | 53 +- rsvg_internals/src/marker.rs | 1156 +++++++++++++++-------------- rsvg_internals/src/mask.rs | 128 ++-- rsvg_internals/src/node.rs | 425 +++++------ rsvg_internals/src/opacity.rs | 186 +++-- rsvg_internals/src/paint_server.rs | 257 +++---- rsvg_internals/src/parsers.rs | 340 ++++----- rsvg_internals/src/path_builder.rs | 175 ++--- rsvg_internals/src/path_parser.rs | 1420 +++++++++++++++--------------------- rsvg_internals/src/pattern.rs | 423 ++++++----- rsvg_internals/src/property_bag.rs | 49 +- rsvg_internals/src/shapes.rs | 456 ++++++------ rsvg_internals/src/space.rs | 60 +- rsvg_internals/src/state.rs | 44 +- rsvg_internals/src/stop.rs | 121 ++- rsvg_internals/src/structure.rs | 523 ++++++------- rsvg_internals/src/text.rs | 35 +- rsvg_internals/src/transform.rs | 351 +++++---- rsvg_internals/src/util.rs | 10 +- rsvg_internals/src/viewbox.rs | 66 +- rsvg_internals/src/viewport.rs | 94 +-- 35 files changed, 4817 insertions(+), 4804 deletions(-) commit 0e6d8573a0357f0b0066c05ee03c4e4898b594d4 Author: Jordan Petridis Date: Wed Feb 28 13:28:21 2018 +0200 gitlab-ci: Enable rustfmt. .gitlab-ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit 3f662dc8351ef6300f0ce3701a2921970122721c Author: Federico Mena Quintero Date: Fri Mar 2 08:55:10 2018 -0600 Add back --enable-gtk-doc --enable-vala We should always be testing documentation generation and generation of the Vala bindings. .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2010298e74eab2f6b0feac8123f412a7cae21eab Author: Federico Mena Quintero Date: Fri Mar 2 08:51:53 2018 -0600 .gitlab-ci.yml: Factor out names of the Docker images, to keep them in a single place .gitlab-ci.yml | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) commit 95c80417ae54be8aae4ab5d4c65d72a8500ab813 Author: Jordan Petridis Date: Fri Mar 2 14:22:03 2018 +0200 gitlab-ci: Switch fedora tag to track amd64/fedora. .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0bc94045c5b74bcc0278faa4e611b51055a8c951 Author: Federico Mena Quintero Date: Fri Mar 2 07:39:07 2018 -0600 Sigh, allow MAX_DIFF=1 on x86_64 as before. I shouldn't computer late at night. tests/rsvg-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f809230bfbb1dd0750c9ceaed5806194b731b718 Author: Federico Mena Quintero Date: Thu Mar 1 17:48:49 2018 -0600 gitlab#178 - rsvg-test.c: On 32-bit, allow the maximum difference between color channels to be 10 This is kind of a lousy reason, but i386 is getting max differences of 9 in some text-rendering cases, with respect to the reference files generated on x86_64. An explanation of different floating-point units and how i386 uses 80-bit extended precision for everything (by default, at least), while x86_64 uses different precisions depending on the instructions: https://stackoverflow.com/questions/22710272/difference-in-floating-point-arithmetics-between-x86-and-x64#22711132 This is more or less a hack, but it will do for now. https://gitlab.gnome.org/GNOME/librsvg/issues/178 tests/rsvg-test.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 49a4121dc04b1960e0a84f47c5f3611a0f00a70e Author: Federico Mena Quintero Date: Thu Mar 1 16:09:47 2018 -0600 viewport.rs: in tests, use numbers that can be represented exactly as f64 In clip_to_viewport(), we were expecting a result of 0.2, which can't be represented exactly. So, the resulting matrix with 0.2 components in it wasn't being compared successfully on i386. (why was it fine on x86_64?) We'll need some bigger guns for asserting on float "equality", it seems. rsvg_internals/src/viewport.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 130007b3a4de3e69608a0687666f802e4dfc2bf5 Author: Federico Mena Quintero Date: Thu Mar 1 16:24:05 2018 -0600 .gitlab-ci.yml: Put LIBRSVG_DEBUG in the variables: section, not as shell exports Hopefully this way they will get merged correctly into the distro_test hash? .gitlab-ci.yml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) commit 748153e93b8fb2e85390aa16179d3cf8b5582299 Author: Federico Mena Quintero Date: Thu Mar 1 15:30:44 2018 -0600 .gitlab-ci.yml: Build all the distros for the librsvg-2.42 branch .gitlab-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) commit 188693f39b9859c758a0d27ff3b862da0f95c4db Author: Federico Mena Quintero Date: Thu Mar 1 15:24:21 2018 -0600 Disable vala for now; it's just not working .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 459260961c82366be6f3d9390639e3e73f0b9b13 Author: Jordan Petridis Date: Wed Feb 28 10:20:42 2018 +0200 Gitlab-ci: Add i386 release build. .gitlab-ci.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 5d396a821c78c68a2c9cb34d3181892effeb11e1 Author: Jordan Petridis Date: Wed Feb 28 10:16:23 2018 +0200 Gitlab-ci: Merge debug and release builds so they can be run in parallel. .gitlab-ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 7e3a0e11084dd4ef952d71bf52fc18ba71dcc415 Author: Jordan Petridis Date: Tue Feb 27 23:35:29 2018 +0200 Gitlab-ci: Add an i386 build. .gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 16 deletions(-) commit ce1cbabc1c463e1f026a891f9db58ffe674e3f43 Author: Federico Mena Quintero Date: Tue Feb 27 15:27:55 2018 -0600 Enable gtk-doc and vala at autogen time for CI .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e5f7d0bce8b5cf623fbcb63d7864bfa2a0ef8c9a Author: Jordan Petridis Date: Tue Feb 27 22:01:41 2018 +0200 Gitlab-CI: Remove template duplication. .gitlab-ci.yml | 58 ++++++++++++++++++++-------------------------------------- 1 file changed, 20 insertions(+), 38 deletions(-) commit b1a4bfe98251c2975ea3da6610b878f080d70827 Author: Federico Mena Quintero Date: Tue Feb 27 13:48:42 2018 -0600 Add a LIBRSVG_DEBUG=yes env var for configure; works like --enable-debug COMPILING.md | 17 ++++++++++++----- configure.ac | 10 +++++++++- 2 files changed, 21 insertions(+), 6 deletions(-) commit 3a8a5576fc28dd146a70e8058e89e44800b4cbed Author: Jordan Petridis Date: Tue Feb 27 21:41:50 2018 +0200 Gitlab-CI: Fix typo. .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d453061d60720832e42ed80e8d55cf29c78916fd Merge: 4ac4cd4d f8170003 Author: Federico Mena Quintero Date: Tue Feb 27 14:26:23 2018 +0000 Merge branch 'macos-docs' into 'master' Add docs for installing dependencies and build on macOS Closes #209 See merge request GNOME/librsvg!21 commit 4ac4cd4d268692a286324ae7470c5761e18a8736 Merge: e1fc59d3 e199e205 Author: Federico Mena Quintero Date: Tue Feb 27 14:23:27 2018 +0000 Merge branch 'more-gitlab-ci' into 'master' Realease Build tests and CCache See merge request GNOME/librsvg!22 commit e199e20558b915be815ed3a701fa9b7bd943f7d5 Author: Jordan Petridis Date: Tue Feb 27 11:06:54 2018 +0200 Gitlab-CI: Add a state to test cross-distro builds in release mode. This is intended to be run only for: * scheduled pipelines * tags * manually requested pipelines from the web gui .gitlab-ci.yml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 11 deletions(-) commit 6608fc1538bf987d79461a171f9ca13af226bd77 Author: Jordan Petridis Date: Tue Feb 27 10:31:19 2018 +0200 Fix indentation. .gitlab-ci.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) commit 21820e497840c69da44ef12e4e9616b76a3acabe Author: Jordan Petridis Date: Tue Feb 27 10:09:44 2018 +0200 Enable ccache. .gitlab-ci.yml | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) commit 27121aacb7cc9af1e508937474d83468d49390f0 Author: Jordan Petridis Date: Mon Feb 26 19:57:53 2018 +0200 gitlab-ci: Add a build in release mode. .gitlab-ci.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) commit f8170003ac7bf80e7165b55369e974658f5dde38 Author: Brion Vibber Date: Sun Feb 25 21:37:41 2018 -0800 Add docs for installing dependencies and build on macOS Updates COMPILING.md with macOS setup instructions. Deps from Homebrew are mostly straightforward, but there are a couple oddities due to interaction between system packages and the Homebrew packages. Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/209 COMPILING.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) commit e1fc59d31b8f419fa90ab20f6d44312e0858ae7d Merge: 1ffa7f5b b99891e3 Author: Federico Mena Quintero Date: Mon Feb 26 14:51:02 2018 +0000 Merge branch 'auto-Bsymbolic' into 'master' Auto-detect -Bsymbolic, fixes configure on macOS Closes #211 See merge request GNOME/librsvg!20 commit b99891e31eb6ce550e7e1cb2ca592095b3050a93 Author: Brion Vibber Date: Sun Feb 25 18:42:36 2018 -0800 Auto-detect -Bsymbolic, fixes configure on macOS The -Bsymbolic linker option is ELF-specific, and was breaking configure on macOS unless --disable-Bsymbolic was explicitly passed. Switching the behavior from requiring -Bsymbolic to be available by default to just warning and continuing on without. Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/211 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1ffa7f5b4f6fd7bbf86e25f79ae2aa985364c45e Author: Federico Mena Quintero Date: Fri Feb 23 21:34:10 2018 -0600 Update NEWS NEWS | 6 ++++++ 1 file changed, 6 insertions(+) commit 540e055f91cac03cd435b846cc04e81d1bfcb6d7 Merge: e3adc1a0 2699eebe Author: Federico Mena Quintero Date: Sat Feb 24 03:22:29 2018 +0000 Merge branch 'font-size-relative' into 'master' Font size relative See merge request GNOME/librsvg!19 commit 2699eebe91e1e9458877c4a77aab69495107d206 Author: Federico Mena Quintero Date: Fri Feb 23 21:15:45 2018 -0600 gitlab#108 - Support font-size:larger and font-size:smaller https://gitlab.gnome.org/GNOME/librsvg/issues/108 librsvg/rsvg-css.c | 33 +++++++++--- rsvg_internals/src/length.rs | 5 +- .../reftests/bugs/108-font-size-relative-ref.png | Bin 0 -> 2297 bytes .../reftests/bugs/108-font-size-relative.svg | 60 +++++++++++++++++++++ 4 files changed, 89 insertions(+), 9 deletions(-) commit 4e83eb0b14c062eb2e259655bd6f141f43f5ef97 Author: Federico Mena Quintero Date: Fri Feb 23 21:12:59 2018 -0600 rsvg-text: Remove old workaround for zero-sized text librsvg/rsvg-text.c | 4 ---- .../fixtures/render-crash/581491-zero-sized-text.svg | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) commit e3adc1a0ee8c090550c7456467a47ecd589e20b9 Merge: 631dcd93 1d7004b5 Author: Federico Mena Quintero Date: Sat Feb 24 02:22:29 2018 +0000 Merge branch 'delayed-svg-attributes' into 'master' gitlab#112 - Apply style attributes for SVG elements See merge request GNOME/librsvg!18 commit 1d7004b51b38c09c02892e7c0e5cafbae594d11c Author: Federico Mena Quintero Date: Fri Feb 23 20:05:52 2018 -0600 gitlab#112 - Apply style attributes for SVG elements We were applying them only for the toplevel element; they need to be applied for all elements in the drawing. https://gitlab.gnome.org/GNOME/librsvg/issues/112 librsvg/rsvg-base.c | 10 ++++------ .../reftests/bugs/112-svg-delayed-attributes-ref.png | Bin 0 -> 81 bytes .../fixtures/reftests/bugs/112-svg-delayed-attributes.svg | 6 ++++++ 3 files changed, 10 insertions(+), 6 deletions(-) commit 631dcd932446b7a67365aa8dda73072b9d50fd0c Merge: e2263b64 c1d93ead Author: Federico Mena Quintero Date: Sat Feb 24 00:03:21 2018 +0000 Merge branch 'check-rustc-version' into 'master' gitlab#205 - configure.ac: Check the minimum version of rustc (1.20) See merge request GNOME/librsvg!17 commit c1d93ead0270f217650493805ba2fe3efb1f5b6f Author: Federico Mena Quintero Date: Fri Feb 23 17:54:34 2018 -0600 gitlab#205 - configure.ac: Check the minimum version of rustc (1.20) https://gitlab.gnome.org/GNOME/librsvg/issues/205 configure.ac | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) commit e2263b643200f548b597e8049f97d143c6d4ac49 Author: Federico Mena Quintero Date: Fri Feb 23 15:57:07 2018 -0600 tests/README.md: Rename rust/ to rsvg_internals/ tests/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 28ea3cb7d35df40acbc014b7797830ed274895c6 Author: Federico Mena Quintero Date: Fri Feb 23 15:04:12 2018 -0600 parses_stroke_dasharray() - Don't use discriminant checks; use PartialEq comparisons The code is prettier this way, and doesn't require Rust 1.21. rsvg_internals/src/length.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) commit 950efcaa3e6ddbb45522a8309b91120e8f60ad05 Merge: 6c8e3979 8b7ea05f Author: Federico Mena Quintero Date: Fri Feb 23 20:37:30 2018 +0000 Merge branch 'custom-registry' into 'master' Custom registry See merge request GNOME/librsvg!15 commit 6c8e3979066bf08898a8a159788154b1adf0a4c1 Merge: 78686210 878e8a2a Author: Federico Mena Quintero Date: Fri Feb 23 20:33:25 2018 +0000 Merge branch 'adjust-ci-workspace' into 'master' Gitlab-ci: Adjust to the cargo workspace. See merge request GNOME/librsvg!14 commit 78686210efae6e0002d17f33fa60a1457dc39a31 Author: Federico Mena Quintero Date: Fri Feb 23 14:24:43 2018 -0600 Update NEWS NEWS | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) commit d7de0e1cea704ad123b6cfff9fca71e200e73edc Merge: 311b9f0a 0b629703 Author: Federico Mena Quintero Date: Fri Feb 23 20:05:50 2018 +0000 Merge branch 'support-a-links-for-pdf' into 'master' Support links for PDF output Closes #204 See merge request GNOME/librsvg!12 commit 8b7ea05fe9dbee4fd9f41e7e7cb58ddc6cd15c33 Author: Jordan Petridis Date: Fri Feb 23 15:13:19 2018 +0000 Gitlab-ci: Set a cache policy that isolates each job. .gitlab-ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 76fc79df2abb6a18ebcc11ad3ea68d9f67f4dbff Author: Jordan Petridis Date: Fri Feb 23 14:36:38 2018 +0000 Try to cache the cargo Home. .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit dac07458d5ad6485b12928b56117bb46d5b405d1 Author: Jordan Petridis Date: Fri Feb 23 13:39:33 2018 +0000 Try caching rust artifacts. .gitlab-ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit b8c3259dd6455bc9ec25e994075bd65fb841c199 Author: Jordan Petridis Date: Fri Feb 23 13:35:26 2018 +0000 Add a test for fedora rawhide. .gitlab-ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) commit 1182b64a96866f53d26623e78ebeb40e6130b9e7 Author: Jordan Petridis Date: Fri Feb 23 13:33:11 2018 +0000 Use custom OCI images instead of building a new enviroment from scratch each time. .gitlab-ci.yml | 51 ++++++++++++++++++--------------------------------- 1 file changed, 18 insertions(+), 33 deletions(-) commit 0b6297030db215a2cfebee55540e151e8d863afc Author: Dmitry Kontsevoy Date: Wed Feb 21 10:17:42 2018 +0300 support links for PDF output Makefile.am | 1 + librsvg/rsvg-base.c | 2 +- librsvg/rsvg-private.h | 1 + librsvg/rsvg-structure.h | 4 ++ rsvg_internals/src/lib.rs | 5 ++ rsvg_internals/src/link.rs | 129 +++++++++++++++++++++++++++++++++++++++++++++ rsvg_internals/src/node.rs | 1 + 7 files changed, 142 insertions(+), 1 deletion(-) commit f67d2ef2d0e66c092856f50d72e6cb732e5c4326 Author: Jordan Petridis Date: Fri Feb 23 11:19:29 2018 +0000 gitlab-ci: Test using a custom OCI registry and image to run tests. .gitlab-ci.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) commit 311b9f0ae10d353ae54f47955b1d91c79aab4458 Author: Chun-wei Fan Date: Fri Feb 23 17:57:55 2018 +0800 win32/rsvg-rust.mak: Fix 'clean' target We need to go into $(srcroot)/rsvg_internals to do the cleanups, as well. win32/rsvg-rust.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0563e88274a4d5c202cb07c45f6d18b3d0acb7f3 Author: Chun-wei Fan Date: Fri Feb 23 17:48:18 2018 +0800 Makefile.am: Fix MSVC header "installation" Avoid having "librsvg" in the header destination directory twice as we already have it in the headers listing. Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cf698710ad99e574bb4a91e41d2707b056bcd1e8 Author: Chun-wei Fan Date: Fri Feb 23 17:39:06 2018 +0800 rsvg-convert.c: Fix build Windows setmode() requires one to include io.h, and optionally fcntl.h. rsvg-convert.c | 1 + 1 file changed, 1 insertion(+) commit 878e8a2a0ad6f009a9d67d01844380fe490119c5 Author: Jordan Petridis Date: Fri Feb 23 06:01:53 2018 +0000 Gitlab-ci: Adjust to the cargo workspace. .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) commit 900b31fa105089c186ee688a4ef87a3411169512 Merge: 2c306032 caceae34 Author: Federico Mena Quintero Date: Thu Feb 22 20:25:22 2018 -0600 Merge branch 'librsvg-cargo-workspace' commit caceae34524c1d901286412c6b058d723c132d3e Author: Federico Mena Quintero Date: Thu Feb 22 20:22:22 2018 -0600 Update Vala deprecation syntax Rsvg-2.0-custom.vala | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) commit e02c61bdc5ea9eb2d96298b0c1d661e035a43ee1 Author: Federico Mena Quintero Date: Thu Feb 22 20:04:38 2018 -0600 configure.ac: Print whether gtk-doc is enabled configure.ac | 1 + 1 file changed, 1 insertion(+) commit 60bbd74d53e4fab1c2c4fc87b4bd20b82ef23725 Author: Federico Mena Quintero Date: Thu Feb 22 20:03:19 2018 -0600 Update .gitignore .gitignore | 4 ++++ 1 file changed, 4 insertions(+) commit d6d88b75d7ac38152467288d092bde1e81ab10f3 Author: Federico Mena Quintero Date: Thu Feb 22 19:53:45 2018 -0600 Fix paths in doc/Makefile.am doc/Makefile.am | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit b60d6e8889fcffde7ef95c74a1e7419de231aad3 Author: Federico Mena Quintero Date: Thu Feb 22 19:50:59 2018 -0600 win32: tweak Rust path in rsvg-rust.mak win32/rsvg-rust.mak | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit fceb421346cb7389b0516675eb6adfad47992257 Author: Federico Mena Quintero Date: Thu Feb 22 19:39:22 2018 -0600 Fix include paths in tests/ tests/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit efe64ee822f666ba6dce34db265c9826f686a8cb Author: Federico Mena Quintero Date: Thu Feb 22 19:38:55 2018 -0600 Makefile.am: fix include path in the generated librsvg-enum-types.c Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 087073fb09c63d4043c3f5f8154678d352e212fc Author: Federico Mena Quintero Date: Thu Feb 22 19:25:22 2018 -0600 Move everything under rust/ one level up in the hierarchy Our toplevel directory will be the crate root. rust/Cargo.lock => Cargo.lock | 0 rust/Cargo.toml => Cargo.toml | 0 Makefile.am | 97 +++++++++++----------- rust/cargo-vendor-config => cargo-vendor-config | 0 {rust/rsvg_internals => rsvg_internals}/Cargo.toml | 0 {rust/rsvg_internals => rsvg_internals}/build.rs | 0 .../src/aspect_ratio.rs | 0 .../src/attributes.rs | 0 .../rsvg_internals => rsvg_internals}/src/bbox.rs | 0 .../rsvg_internals => rsvg_internals}/src/chars.rs | 0 .../src/clip_path.rs | 0 .../rsvg_internals => rsvg_internals}/src/cnode.rs | 0 .../rsvg_internals => rsvg_internals}/src/color.rs | 0 .../src/coord_units.rs | 0 .../src/drawing_ctx.rs | 0 .../rsvg_internals => rsvg_internals}/src/error.rs | 0 .../src/gradient.rs | 0 .../src/handle.rs | 0 .../rsvg_internals => rsvg_internals}/src/image.rs | 0 .../src/length.rs | 0 {rust/rsvg_internals => rsvg_internals}/src/lib.rs | 0 .../src/marker.rs | 0 .../rsvg_internals => rsvg_internals}/src/mask.rs | 0 .../rsvg_internals => rsvg_internals}/src/node.rs | 0 .../src/opacity.rs | 0 .../src/paint_server.rs | 0 .../src/parse_transform.lalrpop | 0 .../src/parsers.rs | 0 .../src/path_builder.rs | 0 .../src/path_parser.rs | 0 .../src/pattern.rs | 0 .../src/property_bag.rs | 0 .../src/shapes.rs | 0 .../rsvg_internals => rsvg_internals}/src/space.rs | 0 .../rsvg_internals => rsvg_internals}/src/state.rs | 0 .../rsvg_internals => rsvg_internals}/src/stop.rs | 0 .../src/structure.rs | 0 .../rsvg_internals => rsvg_internals}/src/text.rs | 0 .../src/transform.rs | 0 .../rsvg_internals => rsvg_internals}/src/util.rs | 0 .../src/viewbox.rs | 0 .../src/viewport.rs | 0 42 files changed, 49 insertions(+), 48 deletions(-) commit 9cb0bb85ab5c05e54f34b64148b419ed1bbd6701 Author: Federico Mena Quintero Date: Thu Feb 22 19:09:12 2018 -0600 Move the C part of the library to a librsvg/ subdirectory Avoid having everything in the toplevel. Modified source files to Makefile.am | 138 ++++++++++----------- configure.ac | 6 +- gdk-pixbuf-loader/io-svg.c | 2 +- librsvg-features.c => librsvg/librsvg-features.c | 0 .../librsvg-features.h.in | 0 rsvg-attributes.h => librsvg/rsvg-attributes.h | 0 .../rsvg-base-file-util.c | 0 rsvg-base.c => librsvg/rsvg-base.c | 0 rsvg-cairo-clip.c => librsvg/rsvg-cairo-clip.c | 0 rsvg-cairo-clip.h => librsvg/rsvg-cairo-clip.h | 0 rsvg-cairo-draw.c => librsvg/rsvg-cairo-draw.c | 0 rsvg-cairo-draw.h => librsvg/rsvg-cairo-draw.h | 0 rsvg-cairo-render.c => librsvg/rsvg-cairo-render.c | 0 rsvg-cairo-render.h => librsvg/rsvg-cairo-render.h | 0 rsvg-cairo.h => librsvg/rsvg-cairo.h | 0 rsvg-cond.c => librsvg/rsvg-cond.c | 0 rsvg-css.c => librsvg/rsvg-css.c | 0 rsvg-css.h => librsvg/rsvg-css.h | 0 rsvg-defs.c => librsvg/rsvg-defs.c | 0 rsvg-defs.h => librsvg/rsvg-defs.h | 0 rsvg-file-util.c => librsvg/rsvg-file-util.c | 0 rsvg-filter.c => librsvg/rsvg-filter.c | 0 rsvg-filter.h => librsvg/rsvg-filter.h | 0 rsvg-handle.c => librsvg/rsvg-handle.c | 0 rsvg-io.c => librsvg/rsvg-io.c | 0 rsvg-io.h => librsvg/rsvg-io.h | 0 rsvg-marker.h => librsvg/rsvg-marker.h | 0 rsvg-mask.h => librsvg/rsvg-mask.h | 0 rsvg-paint-server.h => librsvg/rsvg-paint-server.h | 0 rsvg-path-builder.h => librsvg/rsvg-path-builder.h | 0 rsvg-private.h => librsvg/rsvg-private.h | 0 rsvg-shapes.h => librsvg/rsvg-shapes.h | 0 .../rsvg-size-callback.c | 0 .../rsvg-size-callback.h | 0 rsvg-structure.h => librsvg/rsvg-structure.h | 0 rsvg-styles.c => librsvg/rsvg-styles.c | 0 rsvg-styles.h => librsvg/rsvg-styles.h | 0 rsvg-text.c => librsvg/rsvg-text.c | 0 rsvg-text.h => librsvg/rsvg-text.h | 0 rsvg-xml.c => librsvg/rsvg-xml.c | 0 rsvg-xml.h => librsvg/rsvg-xml.h | 0 rsvg.h => librsvg/rsvg.h | 0 rsvg-convert.c | 6 +- rsvg-view.c | 4 +- tests/Makefile.am | 19 +-- tests/api.c | 2 +- tests/crash.c | 2 +- tests/dimensions.c | 2 +- tests/loading.c | 2 +- tests/render-crash.c | 2 +- tests/rsvg-test.c | 2 +- tests/styles.c | 10 +- tools/Makefile.am | 2 +- tools/rsvg-dimensions.c | 2 +- tools/rsvg-tools-main.c | 4 +- 55 files changed, 103 insertions(+), 102 deletions(-) commit fd214c48d20a97ae7f99d3b5979011edd6010919 Author: Jordan Petridis Date: Sat Feb 10 01:33:17 2018 +0200 Initial switch to a cargo workspace. Makefile.am | 78 +++++++++++----------- rust/Cargo.lock | 6 +- rust/Cargo.toml | 53 ++------------- rust/rsvg_internals/Cargo.toml | 51 ++++++++++++++ rust/{ => rsvg_internals}/build.rs | 0 rust/{ => rsvg_internals}/src/aspect_ratio.rs | 0 rust/{ => rsvg_internals}/src/attributes.rs | 0 rust/{ => rsvg_internals}/src/bbox.rs | 0 rust/{ => rsvg_internals}/src/chars.rs | 0 rust/{ => rsvg_internals}/src/clip_path.rs | 0 rust/{ => rsvg_internals}/src/cnode.rs | 0 rust/{ => rsvg_internals}/src/color.rs | 0 rust/{ => rsvg_internals}/src/coord_units.rs | 0 rust/{ => rsvg_internals}/src/drawing_ctx.rs | 0 rust/{ => rsvg_internals}/src/error.rs | 0 rust/{ => rsvg_internals}/src/gradient.rs | 0 rust/{ => rsvg_internals}/src/handle.rs | 0 rust/{ => rsvg_internals}/src/image.rs | 0 rust/{ => rsvg_internals}/src/length.rs | 0 rust/{ => rsvg_internals}/src/lib.rs | 0 rust/{ => rsvg_internals}/src/marker.rs | 0 rust/{ => rsvg_internals}/src/mask.rs | 0 rust/{ => rsvg_internals}/src/node.rs | 0 rust/{ => rsvg_internals}/src/opacity.rs | 0 rust/{ => rsvg_internals}/src/paint_server.rs | 0 .../src/parse_transform.lalrpop | 0 rust/{ => rsvg_internals}/src/parsers.rs | 0 rust/{ => rsvg_internals}/src/path_builder.rs | 0 rust/{ => rsvg_internals}/src/path_parser.rs | 0 rust/{ => rsvg_internals}/src/pattern.rs | 0 rust/{ => rsvg_internals}/src/property_bag.rs | 0 rust/{ => rsvg_internals}/src/shapes.rs | 0 rust/{ => rsvg_internals}/src/space.rs | 0 rust/{ => rsvg_internals}/src/state.rs | 0 rust/{ => rsvg_internals}/src/stop.rs | 0 rust/{ => rsvg_internals}/src/structure.rs | 0 rust/{ => rsvg_internals}/src/text.rs | 0 rust/{ => rsvg_internals}/src/transform.rs | 0 rust/{ => rsvg_internals}/src/util.rs | 0 rust/{ => rsvg_internals}/src/viewbox.rs | 0 rust/{ => rsvg_internals}/src/viewport.rs | 0 41 files changed, 97 insertions(+), 91 deletions(-) commit 2c3060324663e39eba7c6990dab33fa424e7de13 Author: Federico Mena Quintero Date: Thu Feb 22 13:52:18 2018 -0600 cargo-clippy: path_builder.rs: Copy some enums instead of moving them rust/src/path_builder.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 12d3d9cbaccb94d45be8366504198a2060c5afea Author: Federico Mena Quintero Date: Thu Feb 22 13:48:09 2018 -0600 cargo-clippy: path_parser.rs: Collapse else/if blocks rust/src/path_parser.rs | 57 +++++++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 37 deletions(-) commit 1d10dc3734f67341f6e7353fd5e804391789d67e Author: Federico Mena Quintero Date: Thu Feb 22 13:41:35 2018 -0600 cargo-clippy: Remove unnecessary parentheses rust/src/color.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a0624582a5784f6bae3eedcb20b046f84e2daefa Author: Federico Mena Quintero Date: Thu Feb 22 13:39:55 2018 -0600 cargo-clippy: Remove redundant closures rust/src/paint_server.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit e5cb58191e229f40fb4d97c99147a26e2c66e6ee Author: Federico Mena Quintero Date: Thu Feb 22 13:38:00 2018 -0600 cargo-clippy: marker.rs: Copy some enums, don't move them rust/src/marker.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 409ab58df287b8eaa1d274f701916638a530e290 Author: Federico Mena Quintero Date: Thu Feb 22 13:34:17 2018 -0600 cargo-clippy: Remove redundant reference rust/src/length.rs | 2 +- rust/src/marker.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 1df910a5935693895e8f75899f16c2bb28ed4143 Author: Federico Mena Quintero Date: Thu Feb 22 13:33:08 2018 -0600 cargo-clippy: parse_dash_array() - remove redundant conversion rust/src/length.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3925cd1190599b53755d4838f47c4a9d224414cc Author: Federico Mena Quintero Date: Thu Feb 22 13:30:29 2018 -0600 cargo-clippy: gradient.rs - remove redundant mask rust/src/gradient.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9363f539e4c4cccbdc6e5d2facddf79a83f7aae3 Author: Federico Mena Quintero Date: Thu Feb 22 13:27:01 2018 -0600 cargo-clippy: gradient.rs - prettier pattern matching rust/src/gradient.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e16bc1e3df235984abed4ac4dce3691dde994e72 Author: Federico Mena Quintero Date: Thu Feb 22 13:25:02 2018 -0600 render_pango_layout(): Remove unused function rust/src/drawing_ctx.rs | 14 -------------- 1 file changed, 14 deletions(-) commit 25635cabfffbcc03f3c4b828909fd4eae273cbc4 Author: Federico Mena Quintero Date: Thu Feb 22 13:22:16 2018 -0600 cargo-clippy: derive(Copy) for Align1D rust/src/aspect_ratio.rs | 1 + 1 file changed, 1 insertion(+) commit 7c6c55ce5cb5d116f2b214cc6ae71fc1b2fd529d Author: Federico Mena Quintero Date: Thu Feb 22 13:20:08 2018 -0600 cargo-clippy: Pass references to RsvgBbox, don't move the values rust/src/bbox.rs | 1 + rust/src/gradient.rs | 6 +++--- rust/src/paint_server.rs | 4 ++-- rust/src/pattern.rs | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) commit 444fd034f87f25e3e6fb79003f0ef942928e07b4 Author: Federico Mena Quintero Date: Thu Feb 22 13:16:19 2018 -0600 cargo-clippy: Remove redundant references rust/src/property_bag.rs | 2 +- rust/src/shapes.rs | 2 +- rust/src/structure.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit aafcfdb37499628f78c6996ba37f4643f8a8cc5b Author: Federico Mena Quintero Date: Thu Feb 22 13:04:43 2018 -0600 cargo-clippy: Remove redundant closures in transform.rs rust/src/transform.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit f23cceb33b0578523f5d956a8c28c7a4821b78a1 Author: Federico Mena Quintero Date: Thu Feb 22 13:01:10 2018 -0600 cargo-clippy: use f64:from(foo) instead of "foo as f64" rust/src/transform.rs | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) commit ec172e6a664fd451b1d317f3b567e1f26953b983 Merge: 27f36262 b75c20fb Author: Federico Mena Quintero Date: Thu Feb 22 12:40:48 2018 -0600 Merge branch 'alatiera/librsvg-env-setup' commit b75c20fb3137af9610ff48d0d31ab45e008893ff Author: Federico Mena Quintero Date: Thu Feb 22 12:39:58 2018 -0600 COMPILING.md: Basic compilation instructions COMPILING.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) commit d167c192d699cfa1d82bdc30536d0937367cbe04 Author: Federico Mena Quintero Date: Thu Feb 22 12:36:36 2018 -0600 COMPILING.md: Proofread; list out versions of dependencies COMPILING.md | 63 +++++++++++++++++++++++++++++++++++++++++++----------------- configure.ac | 1 + 2 files changed, 46 insertions(+), 18 deletions(-) commit 27f36262729beab5e0c7b3dba8915bf6fe5e4d21 Merge: a8029873 c9ec296c Author: Federico Mena Quintero Date: Thu Feb 22 11:08:56 2018 -0600 Merge branch 'alatiera/librsvg-gitlab-ci-extra' commit a80298737e4f1abfd038d7feeeda8c980adea7b4 Merge: 4bb8914a 24450902 Author: Federico Mena Quintero Date: Wed Feb 21 21:06:54 2018 -0600 gitlab#201 - Overhaul attributes parsing with perfect hashing (merge phf-attributes) Libxml2 hands us a NULL-terminated char** of key/value pairs for each element's attributes. We would store those pairs in a GHashTable to be able to do random access on the list of attributes for each element - this was RsvgPropertyBag. However, big chains of lookups for "all the attributes" are slower than necessary. Instead, we would rather process the attributes that are actually present in each element, instead of trying to match all elements for every known attribute to the styling system. We now use a Perfect Hash Function to map attribute names to enum values. We can then switch() in C, or match in Rust, over these enum values - the compiler can optimize that very well. We now have a Rust implementation called PropertyBag, which wraps libxml2's array of key/value pairs. It uses iteration rather than lookups, and avoids string copies. This produces a good minor speedup. Across 5588 SVG icons on my machine: 2.42.2 - 10.25 sec phf-attributes - 9.64 sec commit 24450902aa89efbb0b6f17ab1a1530c935bb57c3 Author: Federico Mena Quintero Date: Wed Feb 21 20:32:59 2018 -0600 PropertyBag: Use a Vec, not a HashMap We create a Vec to hold tuples of (key, attribute, value) from the supplied C array of strings. Since there is no lookup() operation anymore, we only need to support iteration over this underlying Vec. rust/src/property_bag.rs | 53 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 17 deletions(-) commit af5396832078460c04ba438aa7ea29dce8eb3438 Author: Federico Mena Quintero Date: Wed Feb 21 19:59:02 2018 -0600 PropertyBag: Don't do redundant UTF-8 validation when generating Rust strings The CStr we store come from C strings from libxml2, so they have already been validated as UTF-8. rust/src/property_bag.rs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) commit 68ed408ce91e53a5e7d114915280e7ab26e4c181 Author: Federico Mena Quintero Date: Wed Feb 21 18:19:26 2018 -0600 PropertyBag: Remove the lookup() stuff; we only use iteration now. Yay!!! rsvg-private.h | 4 ---- rust/src/lib.rs | 1 - rust/src/property_bag.rs | 28 +--------------------------- 3 files changed, 1 insertion(+), 32 deletions(-) commit 6254e2933b2e1f0be3b199556c5ad607b76bffea Author: Federico Mena Quintero Date: Wed Feb 21 18:18:53 2018 -0600 NodeSvg: Parse delayed attributes with the PHF rust/src/structure.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit 7cb911659f9501d9cf39654daedc68fe49ea7e90 Author: Federico Mena Quintero Date: Wed Feb 21 18:13:27 2018 -0600 rsvg_start_xinclude(): Parse attributes with the PHF rsvg-base.c | 111 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 67 insertions(+), 44 deletions(-) commit 3b5ab6c21b3f2a7cfab6ba68dc11cddd851463ac Author: Federico Mena Quintero Date: Wed Feb 21 18:07:15 2018 -0600 rsvg_processing_instruction(): Parse attributes with the PHF rsvg-base.c | 71 ++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 24 deletions(-) commit f76231c7a80d21d7116d8705757b73c0b1d71796 Author: Federico Mena Quintero Date: Wed Feb 21 17:43:03 2018 -0600 rsvg_filter_primitive_tile_set_atts(): Parse attributes with the PHF rsvg-filter.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) commit c8ef2289e8537135c707c264b02314136fa7461f Author: Federico Mena Quintero Date: Wed Feb 21 17:41:41 2018 -0600 rsvg_filter_primitive_specular_lighting_set_atts(): Parse attributes with the PHF rsvg-filter.c | 79 +++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 27 deletions(-) commit ae6308a422981f29e09152337b3344542d5b52df Author: Federico Mena Quintero Date: Wed Feb 21 17:39:30 2018 -0600 rsvg_filter_primitive_diffuse_lighting_set_atts(): Parse attributes with the PHF rsvg-filter.c | 78 ++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 27 deletions(-) commit 28586d0c0c1c20a9cb20686925cc3baaae44be3e Author: Federico Mena Quintero Date: Wed Feb 21 17:37:06 2018 -0600 rsvg_node_light_source_set_atts(): Parse attributes with the PHF rsvg-filter.c | 73 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 20 deletions(-) commit 154bccce5dd6be99d949df4d003625b4b6100312 Author: Federico Mena Quintero Date: Wed Feb 21 17:34:13 2018 -0600 rsvg_filter_primitive_image_set_atts(): Parse attributes with the PHF rsvg-filter.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) commit 6cc3b0331423e023e36699e13cce46d996765c1c Author: Federico Mena Quintero Date: Wed Feb 21 17:32:34 2018 -0600 rsvg_filter_primitive_turbulence_set_atts(): Parse attributes with the PHF rsvg-filter.c | 59 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 17 deletions(-) commit 2f7659f14c37e082df3ad204d1f1b9c3c4a2c29e Author: Federico Mena Quintero Date: Wed Feb 21 17:30:11 2018 -0600 rsvg_filter_primitive_displacement_map_set_atts(): Parse attributes with the PHF rsvg-filter.c | 50 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 13 deletions(-) commit 8d62c118b28fed2faef756cda4c93b4130763f5b Author: Federico Mena Quintero Date: Wed Feb 21 17:28:15 2018 -0600 rsvg_filter_primitive_flood_set_atts(): Parse attributes with the PHF rsvg-filter.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) commit 554f773c423314c147ec3211f5410331a4efbbdc Author: Federico Mena Quintero Date: Wed Feb 21 17:19:26 2018 -0600 rsvg_filter_primitive_composite_set_atts(): Parse attributes with the PHF rsvg-filter.c | 85 +++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 56 insertions(+), 29 deletions(-) commit 8a58d06fccdf3623c239bac878a1fd6548ff5e0b Author: Federico Mena Quintero Date: Wed Feb 21 17:17:08 2018 -0600 rsvg_filter_primitive_erode_set_atts(): Parse attributes with the PHF rsvg-filter.c | 48 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) commit 45c7d43847619980cdf55802f895be8c9154725b Author: Federico Mena Quintero Date: Wed Feb 21 17:06:22 2018 -0600 rsvg_node_component_transfer_function_set_atts(): Parse attributes with the PHF rsvg-filter.c | 103 +++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 62 insertions(+), 41 deletions(-) commit 30949e1a785cecbdfe0e279b72a70c8396769b4d Author: Federico Mena Quintero Date: Wed Feb 21 17:03:21 2018 -0600 rsvg_filter_primitive_component_transfer_set_atts(): Parse attributes with the PHF rsvg-filter.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) commit 9052c2e2a56ab6f8b8ff65c0890839c74b3ad337 Author: Federico Mena Quintero Date: Wed Feb 21 17:02:16 2018 -0600 rsvg_filter_primitive_color_matrix_set_atts(): Parse attributes with the PHF rsvg-filter.c | 82 +++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 31 deletions(-) commit de76452958d82842dd160013cb5d6922e02e6aa9 Author: Federico Mena Quintero Date: Wed Feb 21 16:59:14 2018 -0600 rsvg_filter_primitive_merge_node_set_atts(): Parse attributes with the PHF rsvg-filter.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) commit 5bb014941d5141294d560a8b8c4836220dcaaf08 Author: Federico Mena Quintero Date: Wed Feb 21 16:58:12 2018 -0600 rsvg_filter_primitive_merge_set_atts(): Parse attributes with the PHF rsvg-filter.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) commit b08533c3a70bc9fcaa6de4d4b798567e7e7ef9fe Author: Federico Mena Quintero Date: Wed Feb 21 16:56:55 2018 -0600 rsvg_filter_primitive_offset_set_atts(): Parse attributes with the PHF rsvg-filter.c | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) commit 36f1ee7d80a557a17f61e912eb7e080bfb7ea204 Author: Federico Mena Quintero Date: Wed Feb 21 16:55:22 2018 -0600 rsvg_filter_primitive_gaussian_blur_set_atts(): Parse attributes with the PHF rsvg-filter.c | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) commit da822b08226cf12ffa28133f593bc92dd98fe02c Author: Federico Mena Quintero Date: Wed Feb 21 15:15:26 2018 -0600 rsvg_filter_primitive_convolve_matrix_set_atts(): Parse attributes with the PHF rsvg-filter.c | 168 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 98 insertions(+), 70 deletions(-) commit b51d1794c01d947bb423283c7a4a2fae576f25d2 Author: Federico Mena Quintero Date: Wed Feb 21 15:09:47 2018 -0600 rsvg_filter_primitive_blend_set_atts(): Parse attributes with the PHF rsvg-filter.c | 56 ++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 18 deletions(-) commit 893e47eda3a6ea0bb46e0117673c228fdd9fca21 Author: Federico Mena Quintero Date: Wed Feb 21 15:07:06 2018 -0600 rsvg_filter_set_atts(): Parse attributes with the PHF rsvg-attributes.h | 2 +- rsvg-filter.c | 61 ++++++++++++++++++++++++++++++++++++++----------------- 2 files changed, 43 insertions(+), 20 deletions(-) commit f71ef5e0c3d5845e7fdd2f04cf14db8bf466a1e8 Author: Federico Mena Quintero Date: Wed Feb 21 15:01:29 2018 -0600 filter_primitive_set_x_y_width_height_atts(): Parse attributes with the PHF rsvg-filter.c | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) commit cf5c32224219b69051b00cda1e0e368904b32f5f Author: Federico Mena Quintero Date: Wed Feb 21 11:39:47 2018 -0600 node_set_atts(): Parse attributes with the PHF rsvg-base.c | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) commit 08807b433e6bb3659aee07c0d0a0512cead2a2d0 Author: Federico Mena Quintero Date: Wed Feb 21 11:35:01 2018 -0600 node_set_atts(): Inline register_node_in_defs() here rsvg-base.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) commit f3656e3d6c0dff83d768d552ccb200ef3d6877e3 Author: Federico Mena Quintero Date: Wed Feb 21 11:33:09 2018 -0600 node_set_atts(): Register the node in the defs here, not in rsvg_standard_element_start() rsvg-base.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8fc8575d55e138d679c3a6ac0c60a0e81288b410 Author: Federico Mena Quintero Date: Wed Feb 21 11:26:01 2018 -0600 rsvg-text.c: Parse attributes with the PHF rsvg-text.c | 56 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 14 deletions(-) commit eb4de7d306112a4fdc827d2c4d63cd54343801f6 Author: Federico Mena Quintero Date: Wed Feb 21 11:11:45 2018 -0600 rsvg_cond.c: Parse attributes with the PHF rsvg-cond.c | 50 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 18 deletions(-) commit b11c50a68553dba6d90f63ae10422c40e0180107 Author: Federico Mena Quintero Date: Wed Feb 21 11:00:16 2018 -0600 Thoroughly deprecate rsvg_handle_get_metadata(). Returns NULL always. The code wanted to reconstruct the XML contents of the element so that they could be fetched with the API as a string. However, it never did this correctly. So, we return NULL now and remove the machinery to actually try to reconstruct the XML. Commit a61da7471f951317e665f90fea51badc57781a2c deprecated this function, and its comment says: Deprecate the title, desc, and metadata accessors They're unused except for bindings, according to codesearch. They're also implemented incorrectly (only allow retrieving the toplevel's data), and did I mention they're completely unused? Since they were unused back in 2011, we can hopefully safely deprecate this now. rsvg-base.c | 58 +--------------------------------------------------------- rsvg-handle.c | 12 ++---------- rsvg-private.h | 1 - 3 files changed, 3 insertions(+), 68 deletions(-) commit 6e13ebd8b92128ec8eb4ac66872235990e0d8929 Author: Federico Mena Quintero Date: Wed Feb 21 10:46:42 2018 -0600 rsvg_property_bag_iter_next(): Return the Attribute as well Now the callers don't have to compute it themselves. rsvg-base.c | 12 ++++-------- rsvg-private.h | 2 ++ rsvg-styles.c | 18 ++++-------------- rust/src/property_bag.rs | 8 +++++++- 4 files changed, 17 insertions(+), 23 deletions(-) commit e8fc72e78e3ab0f8116016dc6aca2b9b2d04fe5e Author: Federico Mena Quintero Date: Wed Feb 21 10:40:17 2018 -0600 rsvg_parse_style_pair(): Take an RsvgAttribute arg; don't compute it here rsvg-styles.c | 47 +++++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 16 deletions(-) commit ce1911826638337ec487955c78eb73811cbec742 Author: Federico Mena Quintero Date: Wed Feb 21 08:59:25 2018 -0600 PropertyBag: make iteration return (key, attr, value) tuples This is so that callers don't have to convert the key to an Attribute themselves. This also means that pbag.iter() now *only* yields elements whose attributes are known in the PHF mapping in build.rs. The rest of the code won't know how to process unknown attributes, anyway. rust/src/clip_path.rs | 13 ++--- rust/src/gradient.rs | 49 ++++++++--------- rust/src/image.rs | 73 ++++++++++++------------- rust/src/marker.rs | 45 ++++++++-------- rust/src/mask.rs | 35 ++++++------ rust/src/pattern.rs | 53 +++++++++---------- rust/src/property_bag.rs | 97 +++++++++++++++++++--------------- rust/src/shapes.rs | 135 +++++++++++++++++++++-------------------------- rust/src/stop.rs | 49 ++++++++--------- rust/src/structure.rs | 89 ++++++++++++++----------------- 10 files changed, 304 insertions(+), 334 deletions(-) commit 57f3d6bf9e4abadcc272a03836d2c80e18fd5c7f Author: Federico Mena Quintero Date: Wed Feb 21 08:22:30 2018 -0600 rsvg_start_style(): Parse attributes with the PHF rsvg-base.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) commit c9ec296cc1cabead7d7dc4e820a2978152814631 Author: Jordan Petridis Date: Wed Feb 21 09:05:04 2018 +0000 gitlab-ci: Fix clippy build. .gitlab-ci.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit e27b314c9966ed061a7d3a4ce4c5a4e73cb21c7e Author: Federico Mena Quintero Date: Tue Feb 20 20:29:49 2018 -0600 rsvg_property_bag_size(): Removed. rsvg-private.h | 4 ---- rust/src/lib.rs | 1 - rust/src/property_bag.rs | 9 --------- 3 files changed, 14 deletions(-) commit dfacaee0f379359c2b6770319f97be4edf019bdb Author: Federico Mena Quintero Date: Tue Feb 20 20:28:13 2018 -0600 rsvg_eval_switch_attributes(): Remove the last call to rsvg_property_bag_size() rsvg-cond.c | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) commit 71bff493b05a15f1129d9bd2d657ec9a82bc7ef1 Author: Federico Mena Quintero Date: Tue Feb 20 20:26:50 2018 -0600 rsvg_parse_style_attrs(): Don't call rsvg_property_bag_size() rsvg-styles.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit f3edcbd2bad938a779a15e0b5a9d9d8f47db2d23 Author: Federico Mena Quintero Date: Tue Feb 20 20:25:30 2018 -0600 node_set_atts(): Remove call to rsvg_property_bag_size() We tried to avoid looking up a bunch of possibly nonexistent attributes; now that we iterate over existing ones, this shouldn't be necessary anymore. rsvg-base.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) commit 514ccd4429cc985dc6c9c018fbf4f5b51dfb27db Author: Federico Mena Quintero Date: Tue Feb 20 19:18:57 2018 -0600 rsvg_property_bag_enumerate(): Removed. rsvg-private.h | 6 ------ rust/src/lib.rs | 1 - rust/src/property_bag.rs | 19 ------------------- 3 files changed, 26 deletions(-) commit 73ea7e3fa6e4b620dbcf234a6e562b3a2486f4b3 Author: Federico Mena Quintero Date: Tue Feb 20 19:16:03 2018 -0600 rsvg_metadata_handler_start(): Use iteration instead of rsvg_property_bag_enumerate() rsvg-base.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) commit cdb4156e775aa42a8e6aa9037bd3e8250c6744e8 Author: Federico Mena Quintero Date: Tue Feb 20 19:13:51 2018 -0600 rsvg_parse_presentation_attributes(): Use iteration instead of rsvg_property_bag_enumerate() rsvg-styles.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) commit 862ffb97ecf6840a09f0fce38f144da5b2dcbc7b Author: Federico Mena Quintero Date: Tue Feb 20 19:11:15 2018 -0600 rsvg_parse_style_attrs(): Use iteration instead of rsvg_property_bag_enumerate() rsvg-styles.c | 68 +++++++++++++++++++++++++++-------------------------------- 1 file changed, 31 insertions(+), 37 deletions(-) commit 1b9946f6a0f847698067c124fefa7c6dab965e3f Author: Federico Mena Quintero Date: Tue Feb 20 19:03:55 2018 -0600 PropertyBag: Export rsvg_property_bag_iter_*() for use from C rsvg-private.h | 17 +++++++++ rust/src/lib.rs | 3 ++ rust/src/property_bag.rs | 95 +++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 114 insertions(+), 1 deletion(-) commit 1baa427498a870ce1fccc4b861ca7c4c6f0b16c9 Author: Federico Mena Quintero Date: Tue Feb 20 18:42:03 2018 -0600 PropertyBag: implement PropertyBagIter in terms of PropertyBagCStrIter rust/src/property_bag.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b6334ccb01e079a1406d9b9f3f19efd794581103 Author: Federico Mena Quintero Date: Tue Feb 20 18:39:29 2018 -0600 PropertyBag: Add an iter_cstr() that outputs &CStr, instead of &str rust/src/property_bag.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit cabd443ca19920f16bb3a787e87577b909a06518 Author: Federico Mena Quintero Date: Tue Feb 20 15:54:05 2018 -0600 rsvg_parse_style_attrs(): Parse attributes with the PHF rsvg-styles.c | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 14 deletions(-) commit 19396be85db5d60dd311f88b0a375877b4a54b87 Author: Federico Mena Quintero Date: Tue Feb 20 14:55:18 2018 -0600 gradient_resolve_fallbacks_and_set_pattern(): Use Rust types rust/src/gradient.rs | 15 +++++---------- rust/src/paint_server.rs | 4 ++-- 2 files changed, 7 insertions(+), 12 deletions(-) commit 90c0930e3f6140e9e502f9d0d4ceba3d590e585b Author: Federico Mena Quintero Date: Tue Feb 20 14:52:57 2018 -0600 pattern_resolve_fallbacks_and_set_pattern(): Use Rust types rust/src/paint_server.rs | 2 +- rust/src/pattern.rs | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) commit 3f8e1a6e4059feb6496577dcc187e01e28c68cc6 Author: Federico Mena Quintero Date: Tue Feb 20 14:48:03 2018 -0600 gradient/pattern.rs: Don't export functions that are only used from Rust rust/src/gradient.rs | 9 ++++----- rust/src/lib.rs | 2 -- rust/src/paint_server.rs | 8 ++++---- rust/src/pattern.rs | 7 +++---- 4 files changed, 11 insertions(+), 15 deletions(-) commit 38e66eb1ec2d863590fe5b48f65abaccea99cd02 Author: Federico Mena Quintero Date: Tue Feb 20 14:43:17 2018 -0600 Remove unused prototypes rsvg-paint-server.h | 12 ------------ 1 file changed, 12 deletions(-) commit 6259ab24f7754555e5cca0e11285dd4dde6a3b0f Author: Federico Mena Quintero Date: Fri Feb 16 20:10:02 2018 -0600 property_bag.rs: Remove the parse_or_*() functions. Yay! Now there is just the PropertyBag wrapper in there, and no parsing stuff. rust/src/property_bag.rs | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) commit 5595f35ebb6b6df3b0028efa3fce9c0d172f1c7a Author: Federico Mena Quintero Date: Fri Feb 16 20:07:09 2018 -0600 NodeMarker: Parse attributes using the PHF rsvg-attributes.h | 6 ++++++ rust/build.rs | 6 ++++++ rust/src/marker.rs | 50 +++++++++++++++++++++++++++++++++----------------- 3 files changed, 45 insertions(+), 17 deletions(-) commit 10e260e1a7f2d13b9da2e544ae151a36cb48a2d2 Author: Federico Mena Quintero Date: Fri Feb 16 19:56:56 2018 -0600 NodeImage: Parse atttributes with the PHF rsvg-attributes.h | 2 ++ rust/build.rs | 2 ++ rust/src/mask.rs | 46 ++++++++++++++++++++++++---------------------- 3 files changed, 28 insertions(+), 22 deletions(-) commit a25331fde6b6c1a381e3b6bd01b5811e18eedeb7 Author: Federico Mena Quintero Date: Fri Feb 16 19:48:02 2018 -0600 NodeImage: Parse attributes with the PHF rsvg-attributes.h | 1 + rust/build.rs | 1 + rust/src/image.rs | 73 +++++++++++++++++++++++++++++++------------------------ 3 files changed, 43 insertions(+), 32 deletions(-) commit 75fd6ecf652292f0d3370cac3ed06e891a971f51 Author: Federico Mena Quintero Date: Fri Feb 16 19:23:30 2018 -0600 NodeClipPath: parse attributes using the PHF rsvg-attributes.h | 1 + rust/build.rs | 1 + rust/src/clip_path.rs | 16 ++++++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) commit 15c1d55e8c6f3ef9cb32ec18210657c67af62a8a Author: Federico Mena Quintero Date: Fri Feb 16 19:17:59 2018 -0600 NodeStop: parse attributes with the PHF rust/src/stop.rs | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) commit 126abb3f0cd4ca1b47cd7155e17b5f560cde126a Author: Federico Mena Quintero Date: Fri Feb 16 19:09:55 2018 -0600 Pattern: parse attributes with the PHF rsvg-attributes.h | 3 +++ rust/build.rs | 3 +++ rust/src/pattern.rs | 50 +++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 45 insertions(+), 11 deletions(-) commit cecc732a4b9737dcb97ca8962475df1763f42a84 Author: Federico Mena Quintero Date: Fri Feb 16 19:09:25 2018 -0600 Pattern: start with an unresolved pattern, instead of a Default one rust/src/pattern.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit 72a5270cb9a9d10e97a44b035d820cca119913f2 Author: Federico Mena Quintero Date: Fri Feb 16 18:39:03 2018 -0600 Pattern: put the defaults in impl Default, not in resolve_from_defaults() rust/src/pattern.rs | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) commit 62380f7acf4ecdc9c5b70d2dc042cf862b486135 Author: Federico Mena Quintero Date: Fri Feb 16 13:29:52 2018 -0600 Gradient: Fix the distinction between default values and unresolved values This makes the tests pass again rust/src/gradient.rs | 53 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 17 deletions(-) commit a7c8219644e134f3a3f960e739558589ef65c196 Author: Federico Mena Quintero Date: Fri Feb 16 13:20:53 2018 -0600 Gradient: don't start set_atts() with default values; start with "not resolved" values. rust/src/gradient.rs | 54 ++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) commit 7a0f62013baabe50347f9667f15bc645426fe20d Author: Federico Mena Quintero Date: Fri Feb 16 11:17:20 2018 -0600 Gradient: parse attributes with the PHF rsvg-attributes.h | 5 ++++ rust/build.rs | 5 ++++ rust/src/gradient.rs | 77 +++++++++++++++++++++++++++++++++++++++------------- 3 files changed, 68 insertions(+), 19 deletions(-) commit 8b1e5156e2403386986b4a14ba73fe8316fbabba Author: Federico Mena Quintero Date: Fri Feb 16 12:15:07 2018 -0600 Gradient: Move the GradientVariant defaults to functions instead of resolve_from_defaults() rust/src/gradient.rs | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) commit fdc8e812aa27fbb6c2c93dedbd12a2a095c8bfa4 Author: Federico Mena Quintero Date: Fri Feb 16 11:33:02 2018 -0600 GradientCommon: put the defaults in impl Default, not in resolve_from_defaults() rust/src/gradient.rs | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) commit fa03dc0060ec22500063914883b41a505f819497 Author: Federico Mena Quintero Date: Fri Feb 16 10:38:46 2018 -0600 NodeSymbol: parse attributes with the PHF rust/src/structure.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) commit 92ebc4ff51af1dfd54c7c2447085c6d92f1b45eb Author: Federico Mena Quintero Date: Fri Feb 16 10:34:51 2018 -0600 NodeUse: parse attributes with the PHF rust/src/structure.rs | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) commit e21cb3d08d2aa00007b4b7fbbf5ff826077b11c6 Author: Federico Mena Quintero Date: Fri Feb 16 10:26:40 2018 -0600 Replace tabs with spaces rsvg-attributes.h | 198 +++++++++++++++++++++++++++--------------------------- 1 file changed, 99 insertions(+), 99 deletions(-) commit 47889ece0ef9e64fd92eeaee46a5514ef0d3200a Author: Federico Mena Quintero Date: Fri Feb 16 10:26:11 2018 -0600 NodeSvg: parse attributes with the PHF rsvg-attributes.h | 2 ++ rust/build.rs | 2 ++ rust/src/structure.rs | 47 +++++++++++++++++++++++++++++------------------ 3 files changed, 33 insertions(+), 18 deletions(-) commit 79cef1df7ac7194456e145144829036971acf8df Author: Federico Mena Quintero Date: Fri Feb 16 09:25:20 2018 -0600 NodeEllipse: parse attibutes with the PHF rust/src/shapes.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) commit 0642702ecedaf6713e8f0f99005a290ad3813fba Author: Federico Mena Quintero Date: Fri Feb 16 09:21:07 2018 -0600 NodeCircle: parse attributes with the PHF rsvg-attributes.h | 3 +++ rust/build.rs | 3 +++ rust/src/shapes.rs | 15 +++++++++++---- 3 files changed, 17 insertions(+), 4 deletions(-) commit d0b454b857c927f64c2dcf3701052da31841f15b Author: Federico Mena Quintero Date: Tue Feb 13 13:56:33 2018 -0600 NodeRect: parse attributes with the PHF rsvg-attributes.h | 2 ++ rust/build.rs | 2 ++ rust/src/shapes.rs | 28 +++++++++++++++++++++------- 3 files changed, 25 insertions(+), 7 deletions(-) commit 008646b350ebde346cd036c2c7e6fcc4daa9fef9 Author: Federico Mena Quintero Date: Tue Feb 13 10:09:14 2018 -0600 NodeLine: parse attributes with the PHF rsvg-attributes.h | 4 ++++ rust/build.rs | 4 ++++ rust/src/shapes.rs | 17 ++++++++++++----- 3 files changed, 20 insertions(+), 5 deletions(-) commit 82ac28116144fa5cbe08421640e6c9410cf42341 Author: Federico Mena Quintero Date: Tue Feb 13 10:06:18 2018 -0600 parsers::parse() - New function, to replace property_bag::parse_*() property_bag::parse_or_none() would return an Option. We will no longer need it because we'll iterate over attributes that *are* present, not try to match against attributes that may not be there. property_bag::parse_or_default() will not be needed, since the node creation functions will set up default values themselves. property_bag::parse_or_value() will not be needed for the same reason. rust/src/parsers.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) commit ccbe9efe8845f41ca95bbe0638899eb3959381de Author: Federico Mena Quintero Date: Tue Feb 13 10:05:54 2018 -0600 PropertyBagIter: remove an unused field rust/src/property_bag.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) commit e2603a3578357b4ccde04918f00294ba16a714b6 Author: Federico Mena Quintero Date: Mon Feb 12 19:25:07 2018 -0600 Process points/verts of NodePoly with the PHF rsvg-attributes.h | 2 ++ rust/build.rs | 2 ++ rust/src/shapes.rs | 22 ++++++++++++---------- 3 files changed, 16 insertions(+), 10 deletions(-) commit f08c159459d856632c4fc1ff113091abeac921b2 Author: Federico Mena Quintero Date: Mon Feb 12 19:18:13 2018 -0600 Process the d attribute of NodePath with the PHF rsvg-attributes.h | 1 + rust/build.rs | 1 + rust/src/shapes.rs | 20 +++++++++++++------- 3 files changed, 15 insertions(+), 7 deletions(-) commit d5d5ecce1520a7799668d481b3a1e680a6083cf6 Author: Federico Mena Quintero Date: Mon Feb 12 19:05:53 2018 -0600 PropertyBag.iter() method This wraps HashMap::iter(), but returns Item=(&str, &str) instead of HashMap's double-references to CStr. rust/src/property_bag.rs | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) commit 22281aa8ee30a00b8de165f7f227f3b6e035662e Author: Federico Mena Quintero Date: Mon Feb 12 14:55:31 2018 -0600 Port PropertyBag to Rust This is a HashMap for now, to match the C version which used a GHashTable. Eventually its implementation will only be a wrapper for the (char **) from libxml2, plus an iterator over the key/value pairs in such an array. For now, we do need lookup() semantics. We will be moving the set_atts() methods to iteration instead of lookups one by one. rsvg-base.c | 12 ++-- rsvg-filter.c | 40 +++++------ rsvg-private.h | 30 +++++--- rsvg-styles.c | 77 -------------------- rsvg-text.c | 6 +- rust/src/cnode.rs | 4 +- rust/src/lib.rs | 8 +++ rust/src/node.rs | 13 ++-- rust/src/property_bag.rs | 180 +++++++++++++++++++++++++++++++++++++---------- rust/src/stop.rs | 4 +- rust/src/structure.rs | 14 ++-- 11 files changed, 219 insertions(+), 169 deletions(-) commit ca3c8f015b402b77549a7f926fa282b0ef752a8b Author: Federico Mena Quintero Date: Mon Feb 12 12:52:13 2018 -0600 rsvg_state_reinherit() - Rename to state_reinherit(); make it a static function rsvg-styles.c | 8 ++++---- rsvg-styles.h | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) commit 6732ab38b12219103602ee049b170e5032f4a26f Author: Federico Mena Quintero Date: Mon Feb 12 12:50:32 2018 -0600 rsvg_state_inherit() - Rename to state_inherit(); make it a static function rsvg-styles.c | 6 +++--- rsvg-styles.h | 2 -- 2 files changed, 3 insertions(+), 5 deletions(-) commit 8f6fd8785609bc0dcb12d7f1653fcc4476edf902 Author: Federico Mena Quintero Date: Thu Feb 8 12:49:41 2018 -0600 rsvg_parse_style_pair(): Distinguish between styles and presentation attributes For example, "marker" is a shortcut property that cannot be used from a presentation attribute: an SVG element cannot have an attribute marker="url(#foo)". This property can only come from the the contents of the "style" attribute, or from a CSS style. This makes painting-marker-04-f.svg pass again. rsvg-styles.c | 49 +++++++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 18 deletions(-) commit 0d8dba0ce4e07d7f4243173848998f2cc893cda5 Author: Federico Mena Quintero Date: Thu Feb 8 12:47:34 2018 -0600 Rename rsvg_parse_style_pairs() -> rsvg_parse_presentation_attributes() Because that's what it is intended to do. In the style parsing code, we'll make a distinction between key/value pairs coming from CSS styles or the "style" attribute in SVG elements, and presentation attributes in SVG elements. rsvg-styles.c | 4 ++-- rsvg-styles.h | 2 +- rust/src/stop.rs | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) commit 1ff98de56bc38664f17adf1b8bdcbf86e7c7b292 Author: Federico Mena Quintero Date: Thu Feb 8 10:51:58 2018 -0600 Don't pass an allocated closure to g_hash_table_foreach() The closure is short-lived; there's no need to keep it on the heap. rsvg-styles.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) commit c58fbcbe6c20260d6740a83b62245562a28c18de Author: Federico Mena Quintero Date: Thu Feb 8 07:30:51 2018 -0600 rsvg_parse_style_pairs() - Just iterate over all attributes Don't lookup each attribute we know how to process. rsvg-styles.c | 57 +++++++-------------------------------------------------- 1 file changed, 7 insertions(+), 50 deletions(-) commit db897db4e5f5535dc17f0a37f0ba48ab025d092a Author: Federico Mena Quintero Date: Thu Feb 8 07:07:44 2018 -0600 Sigh, pass C strings properly rust/src/attributes.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0c30cc44c0b5e19cf1ab7ea062c3bd92c2f97ce4 Author: Federico Mena Quintero Date: Wed Feb 7 20:21:33 2018 -0600 rsvg_parse_style_pair(): Use rsvg_attribute_from_name() and a big switch statement Instead of a chain of if statements. rsvg-styles.c | 292 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 245 insertions(+), 47 deletions(-) commit 824d6c3100ff6affcf16075d62c4218e43abb1f0 Author: Federico Mena Quintero Date: Wed Feb 7 20:18:39 2018 -0600 Add rsvg-attributes.h Makefile.am | 1 + rsvg-attributes.h | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) commit e75cd782692525f7c6f8057a65513d62b95023d7 Author: Federico Mena Quintero Date: Wed Feb 7 20:19:45 2018 -0600 build.rs: We don't need the C names after all rust/build.rs | 242 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 122 insertions(+), 120 deletions(-) commit 59129331519160ce07b98df8e5c0ea0ff47bd961 Author: Federico Mena Quintero Date: Wed Feb 7 20:19:29 2018 -0600 fix: modules in attributes.rs rust/src/attributes.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0bcad36db47da2237c436571e3b62c67cdaeeab5 Author: Federico Mena Quintero Date: Wed Feb 7 13:34:19 2018 -0600 New function rsvg_attribute_from_name() rust/src/attributes.rs | 40 ++++++++++++++++++++++++++++++++++++++++ rust/src/lib.rs | 4 ++++ 2 files changed, 44 insertions(+) commit fe3297f336b712d44e70f4a6af5f8e08f9e0c59a Author: Federico Mena Quintero Date: Wed Feb 7 12:31:54 2018 -0600 Generate a PHF of SVG attribute names We will map SVG attribute names to enum values using a Perfect Hash Function, instead of doing string comparisons and hash table lookups everywhere. At build time, we generate the PHF mapping. We do this with phf_codegen (in the build.rs script) instead of phf_macros, as the latter cannot be used on Rust stable yet. Makefile.am | 2 + rust/Cargo.lock | 42 ++++++++++++- rust/Cargo.toml | 5 ++ rust/build.rs | 156 +++++++++++++++++++++++++++++++++++++++++++++++++ rust/src/attributes.rs | 28 +++++++++ rust/src/lib.rs | 1 + 6 files changed, 231 insertions(+), 3 deletions(-) commit 7898d586d9cc6d7aa8474879f6c22bc7cd5dc7ad Author: Jordan Petridis Date: Tue Feb 20 10:30:04 2018 +0000 gitlab-ci: Fix debian build. .gitlab-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit bb49d232495444ebfc1f26a5a8e5b0f40111aad1 Author: Jordan Petridis Date: Tue Feb 20 08:15:20 2018 +0000 gitlab-ci: Add a debian testing build test and a disable template for ubuntu 18.04. .gitlab-ci.yml | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) commit ca2bdc627896538a62702ae02de99af876fa9a7e Author: Jordan Petridis Date: Tue Feb 20 08:06:13 2018 +0000 gitlab-ci: Add manual build triggers for rustfmt and clippy. .gitlab-ci.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) commit 46efdbe757a866fb9b994460cd2520a2f2bcbae4 Author: Jordan Petridis Date: Tue Feb 20 08:02:07 2018 +0000 Compiling.md: Add Debian testing dependancies. COMPILING.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit c1b98d3ec232cdb220bb1312ebe246400362747d Author: Jordan Petridis Date: Mon Feb 19 21:54:51 2018 +0000 gitlab-ci: Build test case for fedora. Switch to fedora for CI tesing since it takes half time. Restrict opensuse test to run only on the following builds: * master branch * tags * scheduled * Requested .gitlab-ci.yml | 57 +++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 16 deletions(-) commit 4bb8914a7e062cad29480c7f2f2b8fa0ed82a1d3 Author: Federico Mena Quintero Date: Mon Feb 19 09:36:49 2018 -0600 No need to validate UTF-8 in rsvg_extra_handler_characters() Libxml2 already guarantees valid UTF-8. With this we drop the glib requirement down to 2.48.0. configure.ac | 2 +- rsvg-base.c | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) commit 7697aa9c93b0002c97f6fda5c690f745670e14a8 Author: Jordan Petridis Date: Mon Feb 19 11:27:37 2018 +0000 Compiling: Add note about building on ubunut and using rustup. COMPILING.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit 47e11a78dd1097063b8dcfb4ed3234a86ecfc826 Author: Jordan Petridis Date: Mon Feb 19 11:08:46 2018 +0000 Fix ubuntu dependancies. COMPILING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a09f947bac5d4c53e89ca9299d43cfd5f045aae8 Author: Jordan Petridis Date: Sun Feb 18 15:13:41 2018 +0200 List incoplete dependancies for ubuntu/debian. COMPILING.md | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) commit 00d130f8b82b4d5c75e9b87cc44a15ec46646e80 Author: Jordan Petridis Date: Tue Feb 13 22:01:02 2018 +0200 Fix the end of the line escaping. When I tried to render it locally with webkit it would ignore a single slash line and would display the desired result only when using a double slash(\) instead. Probably tries to escape something? Gitlab renders it differently. Should be fixed and copy pastable now. COMPILING.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 13d3a4bf7c98a1bc8e7422b156e5e45b7e44c58c Author: Jordan Petridis Date: Fri Feb 9 21:22:58 2018 +0200 Compiling.md: List dependancies for Fedora and Opensuse systems. COMPILING.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) commit 54351e6a04ee7f707be066d181ea21092de6cb5d Author: Federico Mena Quintero Date: Thu Feb 15 18:34:22 2018 -0600 Remove unused variable tests/rsvg-test.c | 1 - 1 file changed, 1 deletion(-) commit 08da34e832daa441212b990e061b06e4650b6d60 Author: Federico Mena Quintero Date: Thu Feb 15 18:33:22 2018 -0600 configure.ac: Increase freetype2 requirement to 2.9.0 Note that freetype2 uses the libtool version for its pkg-config macro (!?) configure.ac | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) commit 1b961ca702a27cbc290335e01cb7036609e6c543 Author: Federico Mena Quintero Date: Thu Feb 15 18:15:47 2018 -0600 gitlab#197 - Regenerate reference tests with updated freetype The previous test reference files were generated with freetype2 2.7.1. However, in 2.8 there was this change: - Update to version 2.8 ... * `Light' auto-hinting mode no longer uses TrueType metrics for TrueType fonts. This bug was introduced in version 2.4.6, causing horizontal scaling also. Almost all GNU/Linux distributions (with Fedora as a notable exception) disabled the corresponding patch for good reasons; chances are thus high that you won't notice a difference. * If a TrueType font gets loaded with FT_LOAD_NO_HINTING, FreeType now scales the font linearly again (bug introduced in version 2.4.6). I think this caused font rendering to change for our tests. The test files are now done with freetype2 2.9. .../reftests/bugs/587721-text-transform-ref.png | Bin 3898 -> 3896 bytes .../bugs/777834-empty-text-children-ref.png | Bin 8477 -> 8475 bytes .../reftests/svg1.1/coords-trans-02-t-ref.png | Bin 8110 -> 8110 bytes .../reftests/svg1.1/coords-trans-03-t-ref.png | Bin 7743 -> 7743 bytes .../reftests/svg1.1/coords-trans-04-t-ref.png | Bin 6589 -> 6589 bytes .../reftests/svg1.1/coords-trans-05-t-ref.png | Bin 7854 -> 7854 bytes .../reftests/svg1.1/coords-trans-06-t-ref.png | Bin 8249 -> 8249 bytes .../reftests/svg1.1/coords-viewattr-03-b-ref.png | Bin 24225 -> 23584 bytes .../reftests/svg1.1/filters-composite-02-b-ref.png | Bin 15793 -> 15793 bytes .../reftests/svg1.1/paths-data-04-t-ref.png | Bin 17856 -> 17803 bytes .../reftests/svg1.1/paths-data-05-t-ref.png | Bin 15948 -> 15886 bytes .../reftests/svg1.1/paths-data-06-t-ref.png | Bin 7189 -> 7110 bytes .../reftests/svg1.1/paths-data-07-t-ref.png | Bin 6443 -> 6376 bytes .../reftests/svg1.1/paths-data-08-t-ref.png | Bin 18899 -> 18904 bytes .../reftests/svg1.1/pservers-grad-08-b-ref.png | Bin 37161 -> 37447 bytes .../reftests/svg1.1/struct-use-01-t-ref.png | Bin 14391 -> 14391 bytes .../fixtures/reftests/svg1.1/text-text-03-b-ref.png | Bin 19989 -> 19979 bytes 17 files changed, 0 insertions(+), 0 deletions(-) commit 60faea54659365421df07fa0cee5f627aa6218c5 Author: Federico Mena Quintero Date: Tue Feb 13 11:06:28 2018 -0600 Update NEWS NEWS | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 8e6f31a55e308bb347513dacbfff996cb67e497f Merge: 6dbc5700 f3d711e6 Author: Federico Mena Quintero Date: Tue Feb 13 10:54:26 2018 -0600 Merge branch 'lamby/librsvg-reproducible-pdf-output' commit f3d711e65f63c94b6491679f9b784b6e0c4e2668 Author: Federico Mena Quintero Date: Tue Feb 13 10:52:17 2018 -0600 Document SOURCE_DATE_EPOCH in rsvg-convert's man page rsvg-convert.1 | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) commit dc4a78d3761b2bd83bbfefc806a52d80229e3f1b Author: Chris Lamb Date: Tue Feb 13 09:27:15 2018 +0000 Make PDF output reproducible if the SOURCE_DATE_EPOCH envvar is set Whilst working on the Reproducible Builds effort [0], we noticed that rsvg-convert does not create reproducible output. This is because it calls cairo_pdf_surface_create_for_stream without setting a modification time, thus leading to the current date always being generated. An alternative patch *could* use the creation time of the input file, but this would be misleading metadata when applied to the output - it was not created at the same time as the input. This has also been filed in Debian [1]. [0] https://reproducible-builds.org/ [1] https://bugs.debian.org/890027 Signed-off-by: Chris Lamb configure.ac | 2 +- rsvg-convert.c | 44 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 2 deletions(-) commit 6dbc5700fd8128ed167a72f955e791c2d490b06e Author: Timm Bäder Date: Fri Feb 9 08:25:51 2018 -0600 gitlab#143 - rsvg-filter: Optimize get_/put_column Use memcpy instead of a manual loop and replace the computation in every iteration with a simple increment. https://gitlab.gnome.org/GNOME/librsvg/issues/143 rsvg-filter.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) commit d513ade4890bf968df936d8da22e7976533ffb9c Merge: 9a63dc88 5dd2b89e Author: Federico Mena Quintero Date: Fri Feb 9 08:34:24 2018 -0600 Merge branch 'hospitality' commit 5dd2b89e48c1828eb654df6c25bbc1e3f87b6551 Author: Federico Mena Quintero Date: Fri Feb 9 08:18:11 2018 -0600 How to test performance-related changes CONTRIBUTING.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit 9a63dc88935c945f90fbeae84d8257b27aeed575 Author: Federico Mena Quintero Date: Thu Feb 8 18:24:41 2018 -0600 Replace "RsvgHandle *ctx" for "RsvgHandle *handle" everywhere Hopefully reduce the confusion between "RsvgHandle *ctx" and "RsvgDrawingCtx *ctx" - the Rust code is already uses handle vs. ctx like this. rsvg-base.c | 263 +++++++++++++++++++++++++++++----------------------------- rsvg-defs.c | 8 +- rsvg-filter.c | 6 +- rsvg-styles.c | 61 +++++++------- rsvg-styles.h | 4 +- 5 files changed, 171 insertions(+), 171 deletions(-) commit 230bd917da295a778896a26f78d98fc7be03a679 Author: Federico Mena Quintero Date: Thu Feb 8 18:08:49 2018 -0600 Remove unused argument from rsvg_parse_style() rsvg-styles.c | 4 ++-- rsvg-styles.h | 2 +- rust/src/stop.rs | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) commit 2482aab44c071ceb69f3b74f449ad3f473173a83 Author: Federico Mena Quintero Date: Thu Feb 8 17:30:46 2018 -0600 path_builder.rs: Use safe calls to Cairo only We used cairo_sys::cairo_move_to() et al from a long time ago. Make this safe with cairo-rs instead. rust/src/path_builder.rs | 60 ++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 25 deletions(-) commit e75a2b2ac8da658725f188c3c6f0b7e1fcfb1519 Merge: b2953f6e 2e714d43 Author: Federico Mena Quintero Date: Thu Feb 8 15:07:06 2018 -0600 gitlab#192 - Merge branch 'h3xby/librsvg-port-paint-server-to-rust' https://gitlab.gnome.org/GNOME/librsvg/issues/192 commit b2953f6e5d119a795decb27adc494d21264a89e1 Merge: 6f67ef61 fb65cee6 Author: Federico Mena Quintero Date: Thu Feb 8 14:29:56 2018 -0600 gitlab#161 - Fix marker angle when a path ends in closepath https://gitlab.gnome.org/GNOME/librsvg/issues/161 commit 6f67ef613c72c5b1b9fa34bcdfd0a754ab1955d0 Author: Federico Mena Quintero Date: Thu Feb 8 10:18:49 2018 -0600 Use tar-ustar in AM_INIT_AUTOMAKE to remove filename length limitations With the crates update, some generated filenames in "cargo vendor" are longer than the 99-character limit from tar-v7. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2e714d43cda40e0a7bf9fb933ba0dade13b33165 Author: Dmitry Kontsevoy Date: Wed Feb 7 17:16:16 2018 +0300 port RsvgPaintServer to Rust closes #192 Makefile.am | 1 - rsvg-cairo-draw.c | 80 +----------- rsvg-paint-server.c | 209 ------------------------------ rsvg-paint-server.h | 39 +----- rust/src/lib.rs | 7 + rust/src/paint_server.rs | 324 ++++++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 341 insertions(+), 319 deletions(-) commit 22a8916972b4b3a470c1930cdf37bbc4a17b9c31 Merge: d0c65121 b5906eee Author: Federico Mena Quintero Date: Tue Feb 6 15:41:55 2018 -0600 Merge branch 'api-tests' commit b5906eee12a0b7401be5878337f51e283f7afbb5 Author: Federico Mena Quintero Date: Tue Feb 6 15:41:18 2018 -0600 Fix rsvg_handle_new_from_file() so that it will load URIs again It is documented to being able to do so. Add a test for this, too. rsvg-base-file-util.c | 10 +++++++++- tests/api.c | 26 ++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) commit d0c65121aaa9e304635650062b58ae687ff7b911 Merge: 562e00a6 2d8d5c6f Author: Federico Mena Quintero Date: Tue Feb 6 14:56:35 2018 -0600 Merge branch 'api-tests' commit 2d8d5c6fae789bc7809c7d92a0aaf5200d559587 Author: Federico Mena Quintero Date: Tue Feb 6 14:12:54 2018 -0600 Test rsvg_handle_get_dimensions_sub() / rsvg_handle_get_position_sub() tests/api.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) commit fabd5bc99bfe8137a8a45e5c826d7f18dff775aa Author: Federico Mena Quintero Date: Tue Feb 6 14:07:01 2018 -0600 Test rsvg_handle_new_with_flags() in one of the existing tests tests/api.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit bfbdf26e79cfff46e3fcc112fce1fd1e560cb0f1 Author: Federico Mena Quintero Date: Tue Feb 6 14:01:46 2018 -0600 Test rsvg_handle_get_pixbuf_sub() And document that function better rsvg-handle.c | 20 +++++++++++++------- tests/api.c | 27 ++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 8 deletions(-) commit 648029d2c6c9f7ad56fa221ea1ba741eb9302301 Author: Federico Mena Quintero Date: Tue Feb 6 13:51:49 2018 -0600 Test rsvg_handle_get_pixbuf() tests/api.c | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) commit 0aa78f1d8eda278d549063638264e55e8de9cc60 Author: Federico Mena Quintero Date: Tue Feb 6 13:41:36 2018 -0600 Test rsvg_handle_read_stream_sync() tests/api.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) commit 8acbac4fa45df1f85b1109394d95d2c7685cd125 Author: Federico Mena Quintero Date: Tue Feb 6 13:38:56 2018 -0600 Test rsvg_handle_new_from_stream_sync() tests/api.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) commit 3491e54b8d2f9f65b65fd6acd5ed7578f98a4c0d Author: Federico Mena Quintero Date: Tue Feb 6 13:35:48 2018 -0600 Test rsvg_handle_new_from_gfile_sync() tests/api.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) commit 76edf06d581c8e0e7b84522e4f3c72417a00507f Author: Federico Mena Quintero Date: Tue Feb 6 13:31:37 2018 -0600 Test rsvg_handle_new_from_data() tests/api.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) commit 06063b7000d3dfa98b6e50a3dba93e0f8f232062 Author: Federico Mena Quintero Date: Tue Feb 6 12:43:54 2018 -0600 Test rsvg_handle_write() / close() / free() tests/api.c | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) commit 4de3634e220b110eceee692a074b00c2463ece31 Author: Federico Mena Quintero Date: Tue Feb 6 12:43:15 2018 -0600 Include the tests/fixture/api/*.svg in the distributed tests tests/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit a132396f3371268a334b41c634d4b51bb5aa7c65 Author: Federico Mena Quintero Date: Tue Feb 6 11:49:19 2018 -0600 Test the auto-generated RSVG_TYPE_ERROR / RSVG_TYPE_HANDLE_FLAGS. tests/api.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) commit b593319beef5a1a7d3c77461b825cc7d331cd365 Author: Federico Mena Quintero Date: Tue Feb 6 11:39:41 2018 -0600 Test rsvg_error_quark() tests/api.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 33ef0e0123a51e66da29017cc51e715b9ab5f779 Author: Federico Mena Quintero Date: Tue Feb 6 11:13:51 2018 -0600 Deprecate rsvg_set_default_dpi() and rsvg_set_default_dpi_x_y(). These functions are unsound. They would only work if called before the registration of RsvgHandleClass (e.g. before the first instantiation of an RsvgHandle), as the global value they set is what is used for g_object_class_install_property(..., "dpi-x") and "dpi-y". We maintain their behavior, but instead recommend that callers use rsvg_handle_set_dpi() or rsvg_handle_set_dpi_x_y(). rsvg-base.c | 20 ++++++++++++++------ rsvg-handle.c | 16 +++++----------- rsvg.h | 3 +++ 3 files changed, 22 insertions(+), 17 deletions(-) commit 4bcf1fa312f71a0a94b5b69b4afecaf40540ed27 Author: Federico Mena Quintero Date: Tue Feb 6 11:24:51 2018 -0600 Don't use rsvg_set_default_dpi*() in the utilities nor in the tests rsvg-convert.c | 14 ++++++++++++-- rsvg-view.c | 9 ++++++++- tests/rsvg-test.c | 3 +-- 3 files changed, 21 insertions(+), 5 deletions(-) commit 0eb8273a33140d67204055d761a3118ee33a3897 Author: Federico Mena Quintero Date: Tue Feb 6 11:06:37 2018 -0600 Test rsvg_handle_set_dpi() / rsvg_handle_set_dpi_x_y() We will not test rsvg_set_default_dpi() and rsvg_set_default_dpi_x_y() because they are unsound. See the next commit for their deprecation and explanation. tests/api.c | 45 +++++++++++++++++++++++++++++++++++++++++---- tests/fixtures/api/dpi.svg | 5 +++++ 2 files changed, 46 insertions(+), 4 deletions(-) commit 5b8b902632e21007316d31dc6b225a2b110853e6 Author: Federico Mena Quintero Date: Tue Feb 6 10:36:53 2018 -0600 Let us pass a specific filename to get_test_filename() tests/api.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 039a7e4af6964f0caa1b00385bb2664a81c7fa12 Author: Federico Mena Quintero Date: Tue Feb 6 10:26:32 2018 -0600 Test the noop functions rsvg_init(), rsvg_term(), rsvg_cleanup() tests/api.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) commit a6a847b8264b96540f8f1a2f15b9e1f48093beba Author: Federico Mena Quintero Date: Tue Feb 6 10:14:46 2018 -0600 Test rsvg_pixbuf_from_file_at_zoom_with_max() tests/api.c | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) commit d91503204be04f3ad3660272e635a7beed393771 Author: Federico Mena Quintero Date: Tue Feb 6 10:07:59 2018 -0600 Test rsvg_pixbuf_from_file_at_max_size() tests/api.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit 43a280afa2cfc8c4daf3f5504791e80ee519082b Author: Federico Mena Quintero Date: Tue Feb 6 10:07:40 2018 -0600 Use g_assert_cmpint() to get better logs tests/api.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4d27370a339ab2bd010386fef4737820f9d14fbd Author: Federico Mena Quintero Date: Tue Feb 6 10:07:22 2018 -0600 Use test sizes that we can divide evenly... tests/api.c | 14 +++++++------- tests/fixtures/api/example.svg | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) commit f9c56c3728b5e61f2e95f0728fe6d70733c115ed Author: Federico Mena Quintero Date: Tue Feb 6 09:52:49 2018 -0600 Refactor the pixbuf tests to have common code tests/api.c | 74 +++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 42 insertions(+), 32 deletions(-) commit 518b3393b76896ba5e698b79031591afd2df8922 Author: Federico Mena Quintero Date: Tue Feb 6 09:40:47 2018 -0600 Test rsvg_pixbuf_from_file_at_size() tests/api.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit 16d1bfadd02c6ecbb6e8d7f42a0cf25710809c47 Author: Federico Mena Quintero Date: Tue Feb 6 09:38:12 2018 -0600 Test rsvg_pixbuf_from_file_at_zoom() tests/api.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit 758fd17561eb3c90c55629b02567b5e385659894 Author: Federico Mena Quintero Date: Mon Feb 5 16:50:27 2018 -0600 gitlab#198 - Fix rsvg_pixbuf_from_file_with_size_data() Now that _rsvg_io_acquire_data() expects a URI, we first need to create a URI from the provided file name. https://gitlab.gnome.org/GNOME/librsvg/issues/198 rsvg-file-util.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit 51203f71418c0b77d1f4b036b5a2da767c8a7938 Author: Federico Mena Quintero Date: Tue Feb 6 09:32:11 2018 -0600 Test rsvg_pixbuf_from_file() .gitignore | 5 ++++- tests/api.c | 44 +++++++++++++++++++++++++++++++++++++++++- tests/fixtures/api/example.svg | 5 +++++ 3 files changed, 52 insertions(+), 2 deletions(-) commit 927e81cd103bc800c14a09ee25d722abb90a9f82 Author: Federico Mena Quintero Date: Tue Feb 6 08:21:38 2018 -0600 Start the tests of the whole public API First, a test to see that RsvgHandle has the correct GType. tests/Makefile.am | 5 ++++ tests/api.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) commit b935e3426f00d90e9e4c76ba3d798e367175eea2 Author: Federico Mena Quintero Date: Tue Feb 6 07:43:11 2018 -0600 Remove RSVG_G_TYPE_INIT - we have required glib 2.52 for some time now GType auto-initializes itself since glib 2.36. Makefile.am | 1 - gdk-pixbuf-loader/test.c | 4 ---- rsvg-base.c | 9 ++++----- rsvg-compat.h | 13 ------------- rsvg-convert.c | 3 --- rsvg-view.c | 4 ---- tests/crash.c | 2 -- tests/dimensions.c | 2 -- tests/loading.c | 2 -- tests/render-crash.c | 2 -- tests/rsvg-test.c | 2 -- tests/styles.c | 2 -- tools/rsvg-dimensions.c | 3 --- tools/rsvg-tools-main.c | 3 --- 14 files changed, 4 insertions(+), 48 deletions(-) commit 562e00a6ad444b503b963841cc23a49a2f69cc00 Author: Massimo Date: Fri Feb 2 10:49:11 2018 -0600 gitlab#91 - Initialize the intial Cairo context in the clipping context correctly We were mis-rendering clipped objects only when the initial transform passed to rsvg_handle_render_cairo() is not an identity transform. https://gitlab.gnome.org/GNOME/librsvg/issues/91 rsvg-cairo-clip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 63d30e86396597487739f82947f9ed7f769d3204 Author: Federico Mena Quintero Date: Fri Feb 2 10:44:10 2018 -0600 Add reftests/bugs/91-nonzero-translation.svg This will test for gitlab#91. It is the libreoffice-math.svg icon, which renders incorrectly with a non-identity transformation. .../reftests/bugs/91-nonzero-translation-ref.png | Bin 0 -> 19012 bytes .../reftests/bugs/91-nonzero-translation.svg | 19764 +++++++++++++++++++ 2 files changed, 19764 insertions(+) commit 369c67d41f05cc9304109b968f1cf8196876a393 Author: Federico Mena Quintero Date: Fri Feb 2 10:39:28 2018 -0600 rsvg-test: Render with a non-identity transformation matrix to test offsetting errors This is for gitlab#91. When the initial transformation matrix in the Cairo context passed to rsvg_handle_render_cairo() is not an identity matrix (e.g. it has translation offsets), we are not rendering some things correctly. So, we now create *all* rendering tests with a nonzero translation. We do this by creating a "frame" around the destination image, and then only considering the part inside the frame. tests/rsvg-test.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) commit 98f7831442bca65b236e62a136d2d1fbf35dba84 Author: Federico Mena Quintero Date: Fri Feb 2 10:37:42 2018 -0600 Remove tests/fixtures/reftests/bugs/548494.svg, add a parser test for it The test was for parsing path data like M.10.20 where adjacent fractional numbers have no space between them. We have a parsing test rather than an image reftest for it now. rust/src/path_parser.rs | 7 +++++++ tests/fixtures/reftests/bugs/548494-ref.png | Bin 695 -> 0 bytes tests/fixtures/reftests/bugs/548494.svg | 5 ----- 3 files changed, 7 insertions(+), 5 deletions(-) commit b92bfd0069a59e337cfa8c5f98b38e495be265e3 Author: Federico Mena Quintero Date: Fri Feb 2 07:50:25 2018 -0600 Update code-of-conduct.md to 1.4.1 code-of-conduct.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit a73aff0a01c5b109eaade36dcd53551b13ccd2f3 Author: Federico Mena Quintero Date: Fri Feb 2 07:49:17 2018 -0600 Rename to code-of-conduct.md per upstream's version CONTRIBUTING.md | 4 ++-- Makefile.am | 2 +- README.md | 4 ++-- code_of_conduct.md => code-of-conduct.md | 0 4 files changed, 5 insertions(+), 5 deletions(-) commit 3ef29def7d4d74085029ddf04570c354b4483f65 Author: Federico Mena Quintero Date: Fri Feb 2 07:44:23 2018 -0600 Post-release version bump to 2.42.3 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)