plotting directly using the renderer

Can you reproduce the segmentation fault? Best,

Hi Martin,

Yes, I reproduced it yesterday <wink> The segfault arises when you
pass a path to draw_markers rather than a transformed path. Obviously
this needs to be fixed to raise rather than segfault. I do test for
this in the extension code

why the check in _backend_agg.cpp

  agg::conv_transform<agg::path_storage> *ppath;
  swig_type_info * descr = SWIG_TypeQuery("agg.conv_transform<agg::path_storage> *");
  if (SWIG_ConvertPtr(args[1].ptr(),(void **)(&ppath), descr, 0) == -1)
    throw Py::TypeError("Could not convert agg.conv_transform<agg::path_storage>");

but clearly the check is not catching the bogus type and raising the
exception as it should. I'll work on this. In the meantime, you can
continue to work as long as you make sure you don't call draw_markers
with the wrong signature. Eg, in Line2D.draw, something like

    if funcname in ('_draw_square', '_draw_triangle_up'):
        markerFunc = getattr(self, funcname)
        markerFunc(renderer, gc, xt, yt)

The segfault you are getting is happening on the tick drawing, which
are implemented as line markers (eg _draw_tickleft). Since you
probably haven't ported the tick drawing to the new API, you are
getting the crash.

Guess I shouldn't have left this detail out yesterday!!