]> granicus.if.org Git - graphviz/log
graphviz
2 years agocgraph: rewrite scanner to use an agxbuf
Matthew Fernandez [Tue, 13 Sep 2022 03:15:13 +0000 (20:15 -0700)]
cgraph: rewrite scanner to use an agxbuf

This is a reattempt of 2d7852a049b729fb0db71c5a8ef2366215ae2035. The original
change introduced a bug where unterminated strings (both `qstring` and
`hstring`) would not reset the buffer, causing an assertion failure the next
time a graph was parsed. This failed attempt was reverted in
16a04fe061bf6c9b3fe5fdc6250255a9b55cd337.

The approach taken here is essentially the same as
2d7852a049b729fb0db71c5a8ef2366215ae2035, except that it resets the buffer on
error conditions. This appears to be the only way to exit the `qstring` and
`hstring` states that was not covered by the original attempt.

Gitlab: related to #2272

2 years agoMerge branch 'fontfaq' into 'main'
Mark Hansen [Tue, 13 Sep 2022 11:07:48 +0000 (11:07 +0000)]
Merge branch 'fontfaq' into 'main'

Remove fontfaq.txt, it's migrated to docs repo

Closes graphviz.gitlab.io#160

See merge request graphviz/graphviz!2839

2 years agoRemove fontfaq.txt, it's migrated to docs repo
Mark Hansen [Mon, 12 Sep 2022 10:15:57 +0000 (20:15 +1000)]
Remove fontfaq.txt, it's migrated to docs repo

Merged into docs repo in
https://gitlab.com/graphviz/graphviz.gitlab.io/-/commit/ca47283b204a6f7b3ac4ec6dce708d04049abd3f

Fixes https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/160

2 years agoMerge branch 'hpgl' into 'main'
Mark Hansen [Tue, 13 Sep 2022 10:16:28 +0000 (10:16 +0000)]
Merge branch 'hpgl' into 'main'

Remove references to dead HP Graphics Language

Closes graphviz.gitlab.io#162

See merge request graphviz/graphviz!2840

2 years agoRemove references to dead HP Graphics Language
Mark Hansen [Mon, 12 Sep 2022 11:03:46 +0000 (21:03 +1000)]
Remove references to dead HP Graphics Language

Was deleted about a year ago.

Closes https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/162

2 years agoMerge branch 'smattr/628f2c12-1370-4634-a135-65e5b9dd19d0' into 'main'
Matthew Fernandez [Mon, 12 Sep 2022 16:39:12 +0000 (16:39 +0000)]
Merge branch 'smattr/628f2c12-1370-4634-a135-65e5b9dd19d0' into 'main'

CI deploy.py: remove '--force' command line option

See merge request graphviz/graphviz!2838

2 years agoCI deploy.py: remove '--force' command line option
Matthew Fernandez [Sun, 11 Sep 2022 16:32:39 +0000 (09:32 -0700)]
CI deploy.py: remove '--force' command line option

Since its introduction, this option has not found a use case. Lets remove it to
decrease the number of things to think about in this script.

2 years agoMerge branch 'add-writing-of-annotated-svg-files-to-test-case-for-issue-372' into...
Magnus Jacobsson [Mon, 12 Sep 2022 08:40:23 +0000 (08:40 +0000)]
Merge branch 'add-writing-of-annotated-svg-files-to-test-case-for-issue-372' into 'main'

Add writing of annotated SVG files to test case for issue #372

See merge request graphviz/graphviz!2828

2 years agotests: test_edge_node_overlap_utilities: add support for writing of annotated SVG...
Magnus Jacobsson [Wed, 24 Aug 2022 10:32:38 +0000 (12:32 +0200)]
tests: test_edge_node_overlap_utilities: add support for writing of annotated SVG files for manual inspection

2 years agotests: SVGAnalyzer: add support for adding outline overlap bounding boxes to the...
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding outline overlap bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding outline bounding boxes to the re-created SVG
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding outline bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
boundaries.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding bounding boxes to the re-created SVG
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
boundaries and overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding and re-creating a `rect` to SVGElement
Magnus Jacobsson [Wed, 24 Aug 2022 10:20:13 +0000 (12:20 +0200)]
tests: SVGAnalyzer: add support for adding and re-creating a `rect` to SVGElement

This will be used in upcoming commits to annotate the re-created SVG
with bounding boxes to highlight Graphviz component boundaries and
overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agoci: add archiving of test artifacts in ctest test jobs
Magnus Jacobsson [Sat, 19 Mar 2022 15:28:48 +0000 (16:28 +0100)]
ci: add archiving of test artifacts in ctest test jobs

The test_edge_node_overlap_simple test case writes SVG files for
visual inspection in build/tests/test_artifacts/**.

2 years agotests: test_edge_node_overlap_utilities: add support for writing of SVG files for...
Magnus Jacobsson [Sun, 28 Aug 2022 15:36:31 +0000 (17:36 +0200)]
tests: test_edge_node_overlap_utilities: add support for writing of SVG files for manual inspection

2 years agoMerge branch 'smattr/fda5681e-cf2f-4912-9748-654ac7cdc841' into 'main'
Matthew Fernandez [Mon, 12 Sep 2022 00:49:18 +0000 (00:49 +0000)]
Merge branch 'smattr/fda5681e-cf2f-4912-9748-654ac7cdc841' into 'main'

sfdpgen: more progress towards using cgraph wrappers for allocation

See merge request graphviz/graphviz!2833

2 years agosfdpgen: remove “dan yi dian, wu ban” comments
Matthew Fernandez [Sat, 10 Sep 2022 03:46:51 +0000 (20:46 -0700)]
sfdpgen: remove “dan yi dian, wu ban” comments

According to Google Translate, this is Mandarin that means “but a little, dance
partner.” I do not see how this is helpful in understanding the surrounding
code.

2 years agosfdpgen multilevel_spring_electrical_embedd…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:44:37 +0000 (20:44 -0700)]
sfdpgen multilevel_spring_electrical_embedd…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen shorting_edge_label_nodes: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:44:03 +0000 (20:44 -0700)]
sfdpgen shorting_edge_label_nodes: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen attach_edge_label_coordinates: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:43:28 +0000 (20:43 -0700)]
sfdpgen attach_edge_label_coordinates: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen power_law_graph: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:42:18 +0000 (20:42 -0700)]
sfdpgen power_law_graph: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen interpolate_coord: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:41:52 +0000 (20:41 -0700)]
sfdpgen interpolate_coord: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_spring_embedding: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:41:21 +0000 (20:41 -0700)]
sfdpgen spring_electrical_spring_embedding: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_maxent_embedding: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:40:52 +0000 (20:40 -0700)]
sfdpgen spring_maxent_embedding: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_embedding: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:40:21 +0000 (20:40 -0700)]
sfdpgen spring_electrical_embedding: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_embedding_slow: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:39:50 +0000 (20:39 -0700)]
sfdpgen spring_electrical_embedding_slow: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_embedding_fast: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:39:15 +0000 (20:39 -0700)]
sfdpgen spring_electrical_embedding_fast: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen Multilevel_coarsen_internal: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:14:38 +0000 (20:14 -0700)]
sfdpgen Multilevel_coarsen_internal: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:13:55 +0000 (20:13 -0700)]
sfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:13:09 +0000 (20:13 -0700)]
sfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:12:26 +0000 (20:12 -0700)]
sfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:11:32 +0000 (20:11 -0700)]
sfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:10:33 +0000 (20:10 -0700)]
sfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:10:04 +0000 (20:10 -0700)]
sfdpgen maximal_independent_edge_set: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_vertex_set_RS: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:09:34 +0000 (20:09 -0700)]
sfdpgen maximal_independent_vertex_set_RS: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_vertex_set: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:09:06 +0000 (20:09 -0700)]
sfdpgen maximal_independent_vertex_set: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen Multilevel_init: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:08:32 +0000 (20:08 -0700)]
sfdpgen Multilevel_init: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen Multilevel_control_new: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:07:41 +0000 (20:07 -0700)]
sfdpgen Multilevel_control_new: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoMerge branch 'smattr/74e6a095-4936-49a0-a657-b5daacf65738' into 'main'
Matthew Fernandez [Sun, 11 Sep 2022 19:47:08 +0000 (19:47 +0000)]
Merge branch 'smattr/74e6a095-4936-49a0-a657-b5daacf65738' into 'main'

dotgen cloneNode: fix memory leak

See merge request graphviz/graphviz!2835

2 years agodotgen cloneNode: fix memory leak
Matthew Fernandez [Sat, 10 Sep 2022 14:54:18 +0000 (07:54 -0700)]
dotgen cloneNode: fix memory leak

2 years agoMerge branch 'smattr/0adca6b4-4284-4816-8af8-c23a2fb0f3fe' into 'main'
Matthew Fernandez [Sun, 11 Sep 2022 18:19:08 +0000 (18:19 +0000)]
Merge branch 'smattr/0adca6b4-4284-4816-8af8-c23a2fb0f3fe' into 'main'

ortho: simplify fPQ.h header

See merge request graphviz/graphviz!2829

2 years agoortho: swap fPQ.h header guards for more modern #pragma once
Matthew Fernandez [Tue, 6 Sep 2022 00:56:18 +0000 (17:56 -0700)]
ortho: swap fPQ.h header guards for more modern #pragma once

2 years agoortho: remove unused 'E_INCR'
Matthew Fernandez [Tue, 6 Sep 2022 00:55:13 +0000 (17:55 -0700)]
ortho: remove unused 'E_INCR'

2 years agoortho: remove 'INLINEPQ' guarded code
Matthew Fernandez [Tue, 6 Sep 2022 00:53:12 +0000 (17:53 -0700)]
ortho: remove 'INLINEPQ' guarded code

Nothing in the build systems defines this. In a modern build environment, a
caller can achieve the effect this code path was providing by using the
compiler’s link-time optimization options.

2 years agoMerge branch 'smattr/ff32f790-9ae8-4e63-8510-8df75595f36b' into 'main'
Matthew Fernandez [Sun, 11 Sep 2022 16:26:46 +0000 (16:26 +0000)]
Merge branch 'smattr/ff32f790-9ae8-4e63-8510-8df75595f36b' into 'main'

Start 6.0.2 development

See merge request graphviz/graphviz!2837

2 years agoStart 6.0.2 development
Matthew Fernandez [Sun, 11 Sep 2022 15:28:16 +0000 (08:28 -0700)]
Start 6.0.2 development

2 years agoMerge branch 'smattr/4b95fccd-cff5-4374-9987-16f1680f4703' into 'main' 6.0.1
Matthew Fernandez [Sun, 11 Sep 2022 15:26:38 +0000 (15:26 +0000)]
Merge branch 'smattr/4b95fccd-cff5-4374-9987-16f1680f4703' into 'main'

Stable release 6.0.1

See merge request graphviz/graphviz!2836

2 years agoStable release 6.0.1
Matthew Fernandez [Sun, 11 Sep 2022 02:56:21 +0000 (19:56 -0700)]
Stable release 6.0.1

The 6.0.0 release was bungled, resulting in multiple commits¹ that claimed to be
Graphviz 6.0.0. ddd69c589483b31f589834e49ae902142cd4df38 of the website
repository² deleted the 6.0.0 download links and we have deleted the 6.0.0 tag
in this repository.

This commit updates the changelog to indicate there was no 6.0.0 release and the
next release will be 6.0.1. Hopefully things will go smoother this time around.

Unfortunately the situation with 6.0.0 was predictable. Discussion on #2202
covered a hole in the release procedure, which turned out to be the exact
problem that occurred.

¹ 9c4299601b40e5856df9a37cae78265ed2eb33b8 and
  091148d2910ac5f9b4d3b14578da2623f47e347b.
² https://gitlab.com/graphviz/graphviz.gitlab.io

2 years agoMerge branch 'smattr/b0431aff-e752-429d-aff5-55eb5cff3fec' into 'main'
Matthew Fernandez [Sat, 10 Sep 2022 22:30:14 +0000 (22:30 +0000)]
Merge branch 'smattr/b0431aff-e752-429d-aff5-55eb5cff3fec' into 'main'

Start 6.0.1 development

See merge request graphviz/graphviz!2834

2 years agoMerge branch 'smattr/153e62b1-b734-4398-a237-680118808633' into 'main'
Matthew Fernandez [Sat, 10 Sep 2022 20:32:00 +0000 (20:32 +0000)]
Merge branch 'smattr/153e62b1-b734-4398-a237-680118808633' into 'main'

GTK plugin warning squashing

See merge request graphviz/graphviz!2827

2 years agoGTK plugin on_drawingarea1_scroll_event: squash -Wswitch-default
Matthew Fernandez [Mon, 5 Sep 2022 17:44:40 +0000 (10:44 -0700)]
GTK plugin on_drawingarea1_scroll_event: squash -Wswitch-default

On GTK 2, the only valid scroll values are left, right, up, and down. GTK 3 adds
a fifth, smooth, capture scrolling in a combined x/y direction (diagonal). In
all cases except up and down, it seems clear this code intends to ignore the
action.

As of this commit, the GTK plugin builds warning-free on Linux.

2 years agoGTK plugin: use C99 'false' instead of GTK 'FALSE'
Matthew Fernandez [Mon, 5 Sep 2022 17:31:24 +0000 (10:31 -0700)]
GTK plugin: use C99 'false' instead of GTK 'FALSE'

There is no need for the latter in C99.

2 years agoGTK plugin: remove unnecessary parens when invoking callbacks
Matthew Fernandez [Mon, 5 Sep 2022 17:29:44 +0000 (10:29 -0700)]
GTK plugin: remove unnecessary parens when invoking callbacks

2 years agoGTK plugin: squash -Wsign-conversion warnings for 'GdkEventButton' values
Matthew Fernandez [Mon, 5 Sep 2022 17:25:59 +0000 (10:25 -0700)]
GTK plugin: squash -Wsign-conversion warnings for 'GdkEventButton' values

The GDK API documents these events as coming from an enum, all of whose values
fit in an int.

2 years agoGTK plugin: squash -Wsign-compare, -Wsign-conversion warnings for width/height
Matthew Fernandez [Mon, 5 Sep 2022 17:22:42 +0000 (10:22 -0700)]
GTK plugin: squash -Wsign-compare, -Wsign-conversion warnings for width/height

Graphviz deals with these values as unsigned, but the GTK APIs deal with them as
signed. Nevertheless we expect both sides to only ever deal in non-negative
values.

2 years agoGTK plugin attr_value_edited_cb: remove shadowing of global 'path'
Matthew Fernandez [Mon, 5 Sep 2022 17:13:56 +0000 (10:13 -0700)]
GTK plugin attr_value_edited_cb: remove shadowing of global 'path'

2 years agoGTK plugin: remove unnecessary 'g_object_get_data' casts
Matthew Fernandez [Mon, 5 Sep 2022 17:12:20 +0000 (10:12 -0700)]
GTK plugin: remove unnecessary 'g_object_get_data' casts

2 years agoGTK plugin: squash -Wunused-parameter warnings in callbacks
Matthew Fernandez [Mon, 5 Sep 2022 17:09:11 +0000 (10:09 -0700)]
GTK plugin: squash -Wunused-parameter warnings in callbacks

These functions are used as Glade callbacks, so need to conform to particular
type signatures.

2 years agoGTK plugin load_store_with_attrs: remove unused 'job' parameter
Matthew Fernandez [Mon, 5 Sep 2022 17:02:52 +0000 (10:02 -0700)]
GTK plugin load_store_with_attrs: remove unused 'job' parameter

2 years agoStart 6.0.1 development
Matthew Fernandez [Sat, 10 Sep 2022 15:41:39 +0000 (08:41 -0700)]
Start 6.0.1 development

2 years agoMerge branch 'smattr/6c968265-3d0c-4a22-b74e-4ceb14eb6dd2' into 'main'
Matthew Fernandez [Sat, 10 Sep 2022 15:38:30 +0000 (15:38 +0000)]
Merge branch 'smattr/6c968265-3d0c-4a22-b74e-4ceb14eb6dd2' into 'main'

Stable release 6.0.0

See merge request graphviz/graphviz!2825

2 years agoStable release 6.0.0
Matthew Fernandez [Mon, 5 Sep 2022 15:33:27 +0000 (08:33 -0700)]
Stable release 6.0.0

2 years agoMerge branch 'smattr/e4241336-151a-41aa-8ffa-ec73b00d6f93' into 'main'
Matthew Fernandez [Sat, 10 Sep 2022 01:05:05 +0000 (01:05 +0000)]
Merge branch 'smattr/e4241336-151a-41aa-8ffa-ec73b00d6f93' into 'main'

smyrna warning squashing

See merge request graphviz/graphviz!2830

2 years agosmyrna: use an 'unsigned' for 'topviewcache.edgelabel_id'
Matthew Fernandez [Wed, 7 Sep 2022 04:53:40 +0000 (21:53 -0700)]
smyrna: use an 'unsigned' for 'topviewcache.edgelabel_id'

Squashes 4 -Wsign-conversion warnings. Note that this also changes the sentinel
from `-1` to `UINT_MAX`.

2 years agosmyrna: use an 'unsigned' for 'topviewcache.nodelabel_id'
Matthew Fernandez [Wed, 7 Sep 2022 04:49:51 +0000 (21:49 -0700)]
smyrna: use an 'unsigned' for 'topviewcache.nodelabel_id'

Squashes 4 -Wsign-conversion warnings. Note that this also changes the sentinel
from `-1` to `UINT_MAX`.

2 years agosmyrna: use an 'unsigned' for 'topviewcache.seledge_id'
Matthew Fernandez [Wed, 7 Sep 2022 04:45:53 +0000 (21:45 -0700)]
smyrna: use an 'unsigned' for 'topviewcache.seledge_id'

Squashes 4 -Wsign-conversion warnings. Note that this also changes the sentinel
from `-1` to `UINT_MAX`.

2 years agosmyrna: use an 'unsigned' for 'topviewcache.selnode_id'
Matthew Fernandez [Wed, 7 Sep 2022 04:42:00 +0000 (21:42 -0700)]
smyrna: use an 'unsigned' for 'topviewcache.selnode_id'

Squashes 4 -Wsign-conversion warnings. Note that this also changes the sentinel
from `-1` to `UINT_MAX`.

2 years agosmyrna: use an 'unsigned' for 'topviewcache.edge_id'
Matthew Fernandez [Wed, 7 Sep 2022 04:37:59 +0000 (21:37 -0700)]
smyrna: use an 'unsigned' for 'topviewcache.edge_id'

Squashes 4 -Wsign-conversion warnings. Note that this also changes the sentinel
from `-1` to `UINT_MAX`.

2 years agosmyrna: use an 'unsigned' for 'topviewcache.node_id'
Matthew Fernandez [Wed, 7 Sep 2022 04:30:51 +0000 (21:30 -0700)]
smyrna: use an 'unsigned' for 'topviewcache.node_id'

Squashes 4 -Wsign-conversion warnings. Note that this also changes the sentinel
from `-1` to `UINT_MAX`.

2 years agosmyrna renderSelectedNodes: squash -Wfloat-conversion in call to 'glprintfglut'
Matthew Fernandez [Wed, 7 Sep 2022 04:17:55 +0000 (21:17 -0700)]
smyrna renderSelectedNodes: squash -Wfloat-conversion in call to 'glprintfglut'

2 years agosmyrna: remove unnecessary casts of 'defaultnodealpha'
Matthew Fernandez [Wed, 7 Sep 2022 04:12:58 +0000 (21:12 -0700)]
smyrna: remove unnecessary casts of 'defaultnodealpha'

2 years agosmyrna parseArgs: remove shadowing of 'view' global
Matthew Fernandez [Wed, 7 Sep 2022 04:10:37 +0000 (21:10 -0700)]
smyrna parseArgs: remove shadowing of 'view' global

2 years agosmyrna: use a 'size_t' for 'ViewInfo.mouse_action_count'
Matthew Fernandez [Wed, 7 Sep 2022 04:08:34 +0000 (21:08 -0700)]
smyrna: use a 'size_t' for 'ViewInfo.mouse_action_count'

Squashes two -Wsign-conversion warnings.

2 years agosmyrna load_mouse_actions: fix comment typo
Matthew Fernandez [Wed, 7 Sep 2022 04:03:30 +0000 (21:03 -0700)]
smyrna load_mouse_actions: fix comment typo

2 years agosmyrna load_mouse_actions: remove shadowing of 'line' global
Matthew Fernandez [Wed, 7 Sep 2022 04:02:58 +0000 (21:02 -0700)]
smyrna load_mouse_actions: remove shadowing of 'line' global

2 years agosmyrna mTestgvpr: use a 'size_t' for 'argc'
Matthew Fernandez [Wed, 7 Sep 2022 03:56:37 +0000 (20:56 -0700)]
smyrna mTestgvpr: use a 'size_t' for 'argc'

This squashes a -Wsign-conversion warning. We need to cast back to `int` for
calling `gvpr`, but this is acceptable as the number of arguments cannot
practically exceed `INT_MAX`.

2 years agosmyrna load_graph_properties: remove unused 'graph' parameter
Matthew Fernandez [Wed, 7 Sep 2022 03:49:08 +0000 (20:49 -0700)]
smyrna load_graph_properties: remove unused 'graph' parameter

2 years agoMerge branch 'smattr/1e70f4b0-5e30-43aa-ac19-5736454aeb2c' into 'main'
Matthew Fernandez [Fri, 9 Sep 2022 15:42:08 +0000 (15:42 +0000)]
Merge branch 'smattr/1e70f4b0-5e30-43aa-ac19-5736454aeb2c' into 'main'

more compiler warning squashing

See merge request graphviz/graphviz!2832

2 years agogvpr: squash -Wundef warning for 'DEBUG'
Matthew Fernandez [Thu, 8 Sep 2022 03:57:57 +0000 (20:57 -0700)]
gvpr: squash -Wundef warning for 'DEBUG'

2 years agogvpr TFA_Advance: squash warnings in calling ctype.h functions
Matthew Fernandez [Thu, 8 Sep 2022 03:56:00 +0000 (20:56 -0700)]
gvpr TFA_Advance: squash warnings in calling ctype.h functions

Some standard libraries implement the ctype.h functions as macros in a way that
triggers compiler warnings if the parameter is not int-typed.

2 years agogvpr TFA_Advance: squash -Wconversion warning from 'tolower' return
Matthew Fernandez [Thu, 8 Sep 2022 03:54:51 +0000 (20:54 -0700)]
gvpr TFA_Advance: squash -Wconversion warning from 'tolower' return

GCC is overly pedantic about the return type of the ctype.h functions.

2 years agogvpr assignable: make it clearer that argument to 'TFA_Advance' fits in a char
Matthew Fernandez [Thu, 8 Sep 2022 03:46:34 +0000 (20:46 -0700)]
gvpr assignable: make it clearer that argument to 'TFA_Advance' fits in a char

Squashes a -Wconversion warning.

2 years agogvpr getval: squash a -Wswitch-default warning
Matthew Fernandez [Thu, 8 Sep 2022 03:40:24 +0000 (20:40 -0700)]
gvpr getval: squash a -Wswitch-default warning

This switch is exhaustive.

2 years agoosage layout: remove shadowing of 'p'
Matthew Fernandez [Thu, 8 Sep 2022 03:36:45 +0000 (20:36 -0700)]
osage layout: remove shadowing of 'p'

2 years agosfdpgen: remove shadowing of 'UNMATCHED'
Matthew Fernandez [Thu, 8 Sep 2022 03:25:58 +0000 (20:25 -0700)]
sfdpgen: remove shadowing of 'UNMATCHED'

These constants were added in 1b847b5abf50d2ab0701523b90a20306d0ee5528 and it is
unclear why, given they are unused. They shadow a different constant in
general.h, causing compiler warnings.

2 years agoMerge branch 'smattr/gitlab-2272' into 'main'
Matthew Fernandez [Fri, 9 Sep 2022 14:42:04 +0000 (14:42 +0000)]
Merge branch 'smattr/gitlab-2272' into 'main'

Revert "cgraph: rewrite scanner to use an agxbuf"

Closes #2272

See merge request graphviz/graphviz!2831

2 years agoRevert "cgraph: rewrite scanner to use an agxbuf"
Matthew Fernandez [Thu, 8 Sep 2022 03:04:06 +0000 (20:04 -0700)]
Revert "cgraph: rewrite scanner to use an agxbuf"

This reverts commit 2d7852a049b729fb0db71c5a8ef2366215ae2035. This commit
introduced a bug where the string buffer was assumed to be uninitialized when
beginning parsing a string, but it may not be if a previously unterminated
string was processed.

Github: fixes #2272
Reported-by: Rob Hart <robhart@google.com>
2 years agoadd a test case for #2272
Matthew Fernandez [Thu, 8 Sep 2022 02:46:10 +0000 (19:46 -0700)]
add a test case for #2272

2 years agoMerge branch 'add-test-case-for-issue-372' into 'main'
Magnus Jacobsson [Tue, 6 Sep 2022 20:28:48 +0000 (20:28 +0000)]
Merge branch 'add-test-case-for-issue-372' into 'main'

Add edge and node overlap test case for issue #372

See merge request graphviz/graphviz!2824

2 years agotests: add new test_edge_node_overlap_simple test
Magnus Jacobsson [Wed, 24 Aug 2022 07:37:07 +0000 (09:37 +0200)]
tests: add new test_edge_node_overlap_simple test

Upcoming commit series will add additional such tests so most of the
code is in a separate utilities file and is somewhat more generalized
than what is strictly necessary for this first simple test.

2 years agotests: SVGAnalyzer: add SVGRect::intersection()
Magnus Jacobsson [Wed, 24 Aug 2022 07:48:19 +0000 (09:48 +0200)]
tests: SVGAnalyzer: add SVGRect::intersection()

This will be used in an upcoming commit the determine overlap between
edges and nodes.

2 years agotests: SVGAnalyzer: GraphvizEdge: add retrieval of outline bounding box
Magnus Jacobsson [Tue, 23 Aug 2022 17:13:15 +0000 (19:13 +0200)]
tests: SVGAnalyzer: GraphvizEdge: add retrieval of outline bounding box

This will be used in an upcoming commit that determines the overlap
between the outline bounding box of a node and an edge.

2 years agotests: SVGAnalyzer: GraphvizNode: add retrieval of outline bounding box
Magnus Jacobsson [Tue, 23 Aug 2022 17:12:47 +0000 (19:12 +0200)]
tests: SVGAnalyzer: GraphvizNode: add retrieval of outline bounding box

This will be used in an upcoming commit that determines the overlap
between the outline bounding box of a node and an edge.

2 years agotests: SVGAnalyzer: SVGElement: add retrieval of outline bounding box
Magnus Jacobsson [Tue, 23 Aug 2022 16:14:28 +0000 (18:14 +0200)]
tests: SVGAnalyzer: SVGElement: add retrieval of outline bounding box

This will be used in an upcoming commit that determines the overlap
between the outline bounding box of a node and an edge.

2 years agotests: SVGAnalyzer: add SVGElement::miter_point()
Magnus Jacobsson [Tue, 23 Aug 2022 16:08:02 +0000 (18:08 +0200)]
tests: SVGAnalyzer: add SVGElement::miter_point()

This will be used in an upcoming commit to calculate the outline
bounding box, i.e., the bounding box when taking stroke width into
account.

2 years agoMerge branch 'smattr/a1e8ee3e-5d71-47c0-8eb0-8ed4dea82aa0' into 'main'
Matthew Fernandez [Tue, 6 Sep 2022 15:28:11 +0000 (15:28 +0000)]
Merge branch 'smattr/a1e8ee3e-5d71-47c0-8eb0-8ed4dea82aa0' into 'main'

label: use cgraph wrappers for allocation

See merge request graphviz/graphviz!2826

2 years agolabel doxlabel: use cgraph wrappers for allocation
Matthew Fernandez [Mon, 5 Sep 2022 15:48:51 +0000 (08:48 -0700)]
label doxlabel: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agolabel xlnew: use cgraph wrapper for allocation
Matthew Fernandez [Mon, 5 Sep 2022 15:48:16 +0000 (08:48 -0700)]
label xlnew: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agolabel xlhdxload: use cgraph wrapper for allocation
Matthew Fernandez [Mon, 5 Sep 2022 15:45:38 +0000 (08:45 -0700)]
label xlhdxload: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agolabel: remove unused memory.h include
Matthew Fernandez [Mon, 5 Sep 2022 15:45:21 +0000 (08:45 -0700)]
label: remove unused memory.h include