|
From: <jd...@us...> - 2009-09-24 03:57:38
|
Revision: 7819
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7819&view=rev
Author: jdh2358
Date: 2009-09-24 03:57:31 +0000 (Thu, 24 Sep 2009)
Log Message:
-----------
applied a fix for sf bug 2865490; is there something more elegant?
Modified Paths:
--------------
branches/v0_99_maint/make.osx
branches/v0_99_maint/src/_backend_agg.cpp
Modified: branches/v0_99_maint/make.osx
===================================================================
--- branches/v0_99_maint/make.osx 2009-09-24 03:00:28 UTC (rev 7818)
+++ branches/v0_99_maint/make.osx 2009-09-24 03:57:31 UTC (rev 7819)
@@ -2,7 +2,7 @@
# PREFIX=/Users/jdhunter/dev make -f make.osx fetch deps mpl_install
MPLVERSION=0.99.1.1
-PYVERSION=2.5
+PYVERSION=2.6
PYTHON=python${PYVERSION}
ZLIBVERSION=1.2.3
PNGVERSION=1.2.33
Modified: branches/v0_99_maint/src/_backend_agg.cpp
===================================================================
--- branches/v0_99_maint/src/_backend_agg.cpp 2009-09-24 03:00:28 UTC (rev 7818)
+++ branches/v0_99_maint/src/_backend_agg.cpp 2009-09-24 03:57:31 UTC (rev 7819)
@@ -607,6 +607,14 @@
x = (double)(int)x; y = (double)(int)y;
+ // if x or y is close to the width or height, the filled
+ // region could be inside the boundary even if the center is
+ // out. But at some point we need to cull these points
+ // because they can create segfaults of they overflow; eg
+ // https://sourceforge.net/tracker/?func=detail&aid=2865490&group_id=80706&atid=560720
+ if (fabs(x)>(2*width)) continue;
+ if (fabs(y)>(2*height)) continue;
+
pixfmt_amask_type pfa(pixFmt, alphaMask);
amask_ren_type r(pfa);
amask_aa_renderer_type ren(r);
@@ -628,6 +636,14 @@
x = (double)(int)x; y = (double)(int)y;
+ // if x or y is close to the width or height, the filled
+ // region could be inside the boundary even if the center is
+ // out. But at some point we need to cull these points
+ // because they can create segfaults of they overflow; eg
+ // https://sourceforge.net/tracker/?func=detail&aid=2865490&group_id=80706&atid=560720
+ if (fabs(x)>(2*width)) continue;
+ if (fabs(y)>(2*height)) continue;
+
if (face.first) {
rendererAA.color(face.second);
sa.init(fillCache, fillSize, x, y);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|