diff --git a/extra/graphviz/ffi/ffi.factor b/extra/graphviz/ffi/ffi.factor index 23865e2eac..690eab415a 100644 --- a/extra/graphviz/ffi/ffi.factor +++ b/extra/graphviz/ffi/ffi.factor @@ -104,8 +104,11 @@ M: ffi-errors error. " error(s) occurred while rendering." print "(The messages were probably printed to STDERR.)" print ; +: ?ffi-errors ( n -- ) + [ ffi-errors ] unless-zero ; inline + : gvFreeContext ( gvc -- ) - int-gvFreeContext [ ffi-errors ] unless-zero ; + int-gvFreeContext ?ffi-errors ; DESTRUCTOR: gvFreeContext @@ -162,7 +165,7 @@ FUNCTION: c-string gvContext &gvFreeContext _ "" gvplugin_list " " split harvest ] with-destructors ; - + PRIVATE> MEMO: supported-engines ( -- seq ) API_layout plugin-list ; diff --git a/extra/graphviz/render/render.factor b/extra/graphviz/render/render.factor index 794e423509..4a683a0aac 100644 --- a/extra/graphviz/render/render.factor +++ b/extra/graphviz/render/render.factor @@ -83,9 +83,8 @@ M: unsupported-engine summary graph id>> graph kind agopen &agclose :> g g graph build-alien g -K compute-engine :> engine - gvc g engine gvLayout drop - [ gvc g -T -o gvRenderFilename drop -o ] - [ gvc g gvFreeLayout drop ] [ ] cleanup + gvc g engine gvLayout ?ffi-errors + gvc g -T -o gvRenderFilename ?ffi-errors -o ] with-destructors ; : (preview) ( graph -- -o )