Index: app/tools/gimpdrawtool.c =================================================================== RCS file: /cvs/gnome/gimp/app/tools/gimpdrawtool.c,v retrieving revision 1.56 diff -u -p -r1.56 gimpdrawtool.c --- app/tools/gimpdrawtool.c 14 Nov 2004 02:50:14 -0000 1.56 +++ app/tools/gimpdrawtool.c 21 Jun 2005 22:48:54 -0000 @@ -1319,10 +1319,6 @@ gimp_draw_tool_draw_boundary (GimpDrawTo gdk_segs[n_gdk_segs].x2 = CLAMP (x, -1, xmax); gdk_segs[n_gdk_segs].y2 = CLAMP (y, -1, ymax); - if (gdk_segs[n_gdk_segs].x1 == gdk_segs[n_gdk_segs].x2 && - gdk_segs[n_gdk_segs].y1 == gdk_segs[n_gdk_segs].y2) - continue; - /* If this segment is a closing segment && the segments lie inside * the region, OR if this is an opening segment and the segments * lie outside the region... @@ -1342,6 +1338,29 @@ gimp_draw_tool_draw_boundary (GimpDrawTo gdk_segs[n_gdk_segs].y2 -= 1; } } + +#if 1 + if (n_gdk_segs > 0) + { + if (ABS (gdk_segs[n_gdk_segs].x1 - gdk_segs[n_gdk_segs - 1].x1) < 2 && + ABS (gdk_segs[n_gdk_segs].y1 - gdk_segs[n_gdk_segs - 1].y1) < 2 && + ABS (gdk_segs[n_gdk_segs].x2 - gdk_segs[n_gdk_segs - 1].x2) < 2 && + ABS (gdk_segs[n_gdk_segs].y2 - gdk_segs[n_gdk_segs - 1].y2) < 2) + { + g_printerr ("%s: skipping segment\n", G_STRFUNC); + continue; + } + } +#endif + +#if 0 + if (gdk_segs[n_gdk_segs].x1 == gdk_segs[n_gdk_segs].x2 && + gdk_segs[n_gdk_segs].y1 == gdk_segs[n_gdk_segs].y2) + { + g_printerr ("%s: skipping segment\n", G_STRFUNC); + continue; + } +#endif n_gdk_segs++; }