Ticket UUID: | 68d110104cc46b715811e4a877a7b5e47c6aa27b | |||
Title: | Plotchart bug with Tk trunk | |||
Type: | Bug | Version: | trunk | |
Submitter: | emiliano | Created on: | 2024-10-18 00:30:06 | |
Subsystem: | tklib :: plotchart | Assigned To: | arjenmarkus | |
Priority: | 5 Medium | Severity: | Critical | |
Status: | Closed | Last Modified: | 2024-10-20 14:44:02 | |
Resolution: | Fixed | Closed By: | arjenmarkus | |
Closed on: | 2024-10-20 14:44:02 | |||
Description: |
Running this slighltly modified example from the docs package require Plotchart canvas .c -background white pack .c -fill both set s [::Plotchart::createXYPlot .c {0.0 100.0 10.0} {0.0 100.0 20.0}] foreach {x y} {0.0 32.0 10.0 50.0 25.0 60.0 78.0 11.0 } { $s plot series1 $x $y } $s title "Data series" with Tk trunk results in an error: expected integer but got "10c" while executing "incr width -[$w cget -borderwidth]" (procedure "WidthCanvas" line 19) invoked from within "WidthCanvas $w" (procedure "MarginsRectangle" line 78) invoked from within "MarginsRectangle $w $argv" (procedure "CreateXYPlotImpl" line 16) invoked from within "CreateXYPlotImpl xyplot $w $xscale $yscale $args" (procedure "::Plotchart::createXYPlot" line 3) invoked from within "::Plotchart::createXYPlot .c {0.0 100.0 10.0} {0.0 100.0 20.0}" ("uplevel" body line 1) invoked from within "uplevel #0 {set s [::Plotchart::createXYPlot .c {0.0 100.0 10.0} {0.0 100.0 20.0}]}" This is due to changes in Tk option defaults $ echo 'canvas .c; puts [.c cget -width]; exit' | wish8.6 379 $ echo 'canvas .c; puts [.c cget -width]; exit' | wish9.0 10c Attached patch solves the issue by calling [winfo pixels] where appropriate | |||
User Comments: |
arjenmarkus added on 2024-10-20 14:44:02:
New version is 2.7.0. Unrelated change: using an initialisation proc to take care of the change in semantics in Tcl 9 for namespace variables outside a proc context. arjenmarkus added on 2024-10-20 14:42:22: I have applied the patch - had to make some additional changes though (these have to do with the naming convention used by Plotchart to distinguish multiple plots in the same canvas/window. I verified that all tests succeed. |
Attachments:
- plotchart.diff [download] added by emiliano on 2024-10-18 00:33:48. [details]