Opened 10 years ago

Closed 10 years ago

#15583 closed defect (fixed)

pieChart and undefined font for labelWiring in MSIE

Reported by: Martin Repta Owned by: cjolif
Priority: low Milestone: 1.8
Component: Charting Version: 1.7.3
Keywords: Cc:
Blocked By: Blocking:


I found a bug in IE7,8 when I tried render pieChart with labelStyle set to "column". Problem appears in IE only, and seems to be related to theme. Font that should be used in case of rendering wiring and its label is undefined.

Problem seems to be here, in plot2d/Pie.js

taFont = "font" in this.opt ? this.opt.font : t.axis.font,

What happens when user does not specify font and axis.font is not specified in theme?...

We are rendering pie chart which really does not have any axis, but has series of data, therefore much better would be to ask for series theme settings.

Patch file attached.

Attachments (1)

pie_wiring.patch (1.1 KB) - added by Martin Repta 10 years ago.

Download all attachments as: .zip

Change History (4)

Changed 10 years ago by Martin Repta

Attachment: pie_wiring.patch added

comment:1 Changed 10 years ago by cjolif

Milestone: tbd1.8
Owner: changed from Eugene Lazutkin to cjolif
Priority: undecidedlow
Status: newassigned

Good catch. Actually theme.axis.font is even never expected to exist. Even if we want to take that information on the axis this is probably more theme.axis.tick.font as nothing in the theming specification talks about a font on the axis itself. So your patch is maybe not 100% correct. That said I'll try to get that fixed for 1.8.

comment:2 Changed 10 years ago by cjolif

Ok, I think the right fix will be to use the same (series) font in all cases and never rely on axis font.

Last edited 10 years ago by cjolif (previous) (diff)

comment:3 Changed 10 years ago by cjolif

Resolution: fixed
Status: assignedclosed

In [29205]:

fixes #15583. Make sure to consistently use for font theme.series.font and not sometimes theme.axis.font which does not exit (+ other small cleanups).

Note: See TracTickets for help on using tickets.