Ticket UUID: | 733911 | |||
Title: | canvas postscript command core dumps on special polygon | |||
Type: | Bug | Version: | final: 8.3.5 | |
Submitter: | nobody | Created on: | 2003-05-07 14:33:45 | |
Subsystem: | 18. Commands M-Z | Assigned To: | dkf | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2003-05-07 21:50:28 | |
Resolution: | Invalid | Closed By: | dkf | |
Closed on: | 2003-05-07 14:50:28 | |||
Description: |
Hi, there is a bug in tkCanvPoly.c:PolygonToPostscript in recent Tk Versions (tested 8.3.5, 8.4.2). Create a polygon with two identical points and no outline color (I know this seems to be nonsense, but in my case it was absolutely needed). Do a postscript command on the canvas and you get the core dump (a color NULL pointer is passed on from PolygonToPostscript to Tk_PostscriptColor, where it is referenced) 15:09[wilm@rubin:ConStruct3]$ wish .wishrc .wishrc .wishrc ... % canvas .c .c % pack .c % .c create polygon 10 20 10 20 1 % .c postscript Segmentation fault Setting the outline sets the color pointer to non-NULL: 15:41[wilm@rubin:ConStruct3]$ wish .wishrc .wishrc .wishrc ... % canvas .c .c % pack .c % .c create polygon 10 20 10 20 -outline black 1 % .c postscript %!PS-Adobe-3.0 EPSF-3.0 ... To avoid this create a polygon with 3 points (using two different points activates expansion to three points and cirumvents the faulty if-clause as well): 16:04[wilm@rubin:ConStruct3]$ wish .wishrc .wishrc .wishrc ... % canvas .c .c % pack .c % .c create polygon 10 20 10 20 10 20 1 % .c postscript %!PS-Adobe-3.0 EPSF-3.0 ... The reason for this bu is the following: If only two points exist, special case code is used to create a line and the color is not verfified to be valid. To patch this just check if color==NULL in case polyPtr->numPoints==2 and return TCL_OK See attachment. Andreas | |||
User Comments: |
dkf added on 2003-05-07 21:50:27:
Logged In: YES user_id=79902 While serious, this is not a bug in Tcl. Please resubmit to the tktoolkit project. nobody added on 2003-05-07 21:33:46: File Added - 49795: tkCanvPoly.diff |
Attachments:
- tkCanvPoly.diff [download] added by nobody on 2003-05-07 21:33:46. [details]