Opened 13 years ago

Closed 13 years ago

#8914 closed defect (fixed)

regression [dojox] ColorPicker

Reported by: dante Owned by: dante
Priority: high Milestone: 1.3
Component: DojoX Widgets Version: 1.3.0b3
Keywords: Cc: Douglas Hays, bill
Blocked By: Blocking:


ColorPicker stopped working all together. First appears broken on Feb 2:

Unfortunately, nightly's weren't running, so the last time it was there and working was the last available nightly prior:

looking through the timeline for the potential days shows only one suspect checkin: [16468] Nothing else seems to touch anything about colorpicker. It only inherits from _FormWidget, but used dojox.color, though dojox.color has gone unchanged since well before 1-24-2009

Attachments (1)

picker.patch (1.4 KB) - added by dante 13 years ago.
proposed solution, though I don't like it.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 13 years ago by dante

this might not be _FormWidget related at all, but having a hard time determining what changed. there are marginBox calls in buildRendering which are now reporting 0 for all sizes which seems to be causing the problem.

comment:2 Changed 13 years ago by dante

ugh okay - so what changed? colorpicker was using buildrendering because it needs to do this size calculation because _setValueAttr is called before postCreate and the sizes and offsets calculated are relevant to the value. If I change buildrendering to postCreate and make _setValueAttr check this._started before continuing, the widget works again.

Did something in the lifecycle change in those days? Something regarding visibility/display? I'm not seeing it, and this fix seems janktastic.

Changed 13 years ago by dante

Attachment: picker.patch added

proposed solution, though I don't like it.

comment:3 Changed 13 years ago by Douglas Hays

Cc: bill added

bill moved this._applyAttributes() out of buildRendering and into create(), just after the call to buildRendering().

comment:4 Changed 13 years ago by bill

In theory you should be doing all the sizing and things related to sizing in startup() because that's the only time you can be sure that you are attached to the document. new dojox.widget.ColorPicker() will fail if it tries to do any marginBox() calls. So I'd suggest that. That's how dijit does it.

comment:5 Changed 13 years ago by dante

Resolution: fixed
Status: newclosed

in [17052]

Note: See TracTickets for help on using tickets.