Opened 13 years ago
Closed 13 years ago
#4242 closed defect (worksforme)
dijit.layout.layoutChildren: dim argument may be undefined, Internet Explorer
Reported by: | Tom Trenka | Owned by: | bill |
---|---|---|---|
Priority: | high | Milestone: | 1.0 |
Component: | Dijit | Version: | 0.9 |
Keywords: | layout, _contentBox | Cc: | |
Blocked By: | Blocking: |
Description
For some reason, under certain situations (seems to be when nesting a programmatically created SplitContainer? somewhere in the descendant tree of a TabContainer?), when trying to run dijit.layout.layoutChildren, the second argument passed (dim) may be undefined. This causes an error with dojo._mixin (another ticket was just filed on it), and when elm properties are set after the fact.
Not sure what to do about it--if the issue is because IE doesn't have a measurement on a domNode that's not part of the document, or if there should just be some extra checking in layoutChildren or what.
A sure sign is the following error message in IE:
"toString is null or not an object"
...which is thrown when dojo._mixin is called, probably as the result of something like this:
var obj=dojo.mixin({}, undefined);
...which happens in:
http://trac.dojotoolkit.org/browser/dijit/trunk/layout/_LayoutWidget.js
line 136.
Change History (3)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
I really need a testcase to be able to fix this. Otherwise nothing to do but close it as "can't reproduce".
comment:3 Changed 13 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Workaround: the var causing this error is "this._contentBox", (a dimension object) in TabContainer?. It appears to happen when the tab is resized before the pane is completely built.
In our object that extends the TabContainer?, I added a property: _contentBox: {l:0,t:0,w:0,h:0}, dojo.coords formatted object
...this prevents a null object from passing through the system.
-submitted by Mike Wilcox