You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by 増田 勇祐 <ym...@cac.co.jp> on 2012/12/13 07:49:00 UTC

We faced a TypeError in using ComboBox.

Hi, all.


I'm getting a trouble using 'mx.controls.ComboBox'.
Could you help and give us a correct code.


I got an error 'TypeError: Error #1009' when I clicked a combobox on 
inactive window. [see stack traces below]
So I checked the source code, and I'm afraid that it's a kind of program 
bug.

We are using a custom ComboBox that extends 'mx.controls.ComboBox' which is 
made by ourselves.
Though the error has occured on the component, it occur in not only our 
ComboBox, but also 'mx.controls.ComboBox'.

The immediate cause is a variable 'tween' is null (not initialized) at 
line:1912 of ComboBox.as.

When I clicked the ComboBox, a method 'displayDropdown' is running.
Then a variable 'inTween' get change to 'true' when the process has come to 
line:1871.
And a method 'UIComponentGlobals.layoutManager.validateNow()' is called at 
line:1877.
After that an event 'styleChange' has fired, and 'destroyDropDown' is called 
from an event handler 'styleChanged' at line:1416

In 'destroyDropDown', a code is calling 'tween.endTween()' after 'inTween' 
checked, but 'tween' is not initialized yet.

The 'tween' is initializing in a method 'displayDropdown' at line:1890 after 
calling 'UIComponentGlobals.layoutManager.validateNow()'.
So 'tween' still has been null.

We are thinking the code should be changed from "if (inTweet) " to "if 
(tween != null && inTween) {" at line:1919.

--- Stack Traces ----
TypeError: Error #1009: null ...(Japanese message)...
at 
mx.controls::ComboBox/destroyDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1912]
at 
mx.controls::ComboBox/styleChanged()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1408]
at 
mx.core::UIComponent/notifyStyleChangeInChildren()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11332]
at 
mx.core::Container/commitProperties()[E:\dev\4.y\frameworks\projects\mx\src\mx\core\Container.as:3247]
at 
mx.core::UIComponent/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8219]
at 
mx.managers::LayoutManager/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:597]
at 
mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:813]
at 
mx.managers::LayoutManager/validateNow()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:878]
at 
mx.controls::ComboBox/displayDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1869]
at 
mx.controls::ComboBox/downArrowButton_buttonDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:2027]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at 
mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at 
mx.controls::Button/http://www.adobe.com/2006/flex/mx/internal::buttonPressed()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2483]
at 
mx.controls::Button/mouseDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2744]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at 
mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at 
mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]


* This stack traces which we got while using Adobe Flex 4.6.
* But The source code 'Adobe Flex 4.6' is same as 'Apache Flex 4.8's.


It's the first time to send to mailing list and I'm not good at English.
Please excuse me if you may not understand or you feel bad with my poor 
English.

Regards.

Yusuke, MASUDA
CAC Corporation (Japan)



Re: We faced a TypeError in using ComboBox.

Posted by 増田 勇祐 <ym...@cac.co.jp>.
Hi Marcus,

Thank you for your replying.

OK, I'll try to create a project to figure it out.
However this problem was found by my colleague, and she is busy in these 
days.
Please give us a little more time to do it.
When we get the programs, I'll try to entry an issue into the site which you 
give us.

Best regards

Yusuke Masuda


----- Original Message ----- 
From: "Marcus Fritze" <ma...@googlemail.com>
To: <fl...@incubator.apache.org>; "Marcus Fritze" 
<ma...@googlemail.com>
Sent: Thursday, December 13, 2012 7:19 PM
Subject: Re: We faced a TypeError in using ComboBox.


Hi Yusuke,

can you create a very small test project with this issue? If you think this 
is really an issue you can file any issues here: 
https://issues.apache.org/jira/browse/FLEX and you can attach the test 
project to this bug (swf file / FXP file)

The mailing list is not the best way to file issues.

Best regards

Marcus

Am 13.12.2012 um 07:49 schrieb 増田 勇祐 <ym...@cac.co.jp>:

> Hi, all.
>
>
> I'm getting a trouble using 'mx.controls.ComboBox'.
> Could you help and give us a correct code.
>
>
> I got an error 'TypeError: Error #1009' when I clicked a combobox on 
> inactive window. [see stack traces below]
> So I checked the source code, and I'm afraid that it's a kind of program 
> bug.
>
> We are using a custom ComboBox that extends 'mx.controls.ComboBox' which 
> is made by ourselves.
> Though the error has occured on the component, it occur in not only our 
> ComboBox, but also 'mx.controls.ComboBox'.
>
> The immediate cause is a variable 'tween' is null (not initialized) at 
> line:1912 of ComboBox.as.
>
> When I clicked the ComboBox, a method 'displayDropdown' is running.
> Then a variable 'inTween' get change to 'true' when the process has come 
> to line:1871.
> And a method 'UIComponentGlobals.layoutManager.validateNow()' is called at 
> line:1877.
> After that an event 'styleChange' has fired, and 'destroyDropDown' is 
> called from an event handler 'styleChanged' at line:1416
>
> In 'destroyDropDown', a code is calling 'tween.endTween()' after 'inTween' 
> checked, but 'tween' is not initialized yet.
>
> The 'tween' is initializing in a method 'displayDropdown' at line:1890 
> after calling 'UIComponentGlobals.layoutManager.validateNow()'.
> So 'tween' still has been null.
>
> We are thinking the code should be changed from "if (inTweet) " to "if 
> (tween != null && inTween) {" at line:1919.
>
> --- Stack Traces ----
> TypeError: Error #1009: null ...(Japanese message)...
> at 
> mx.controls::ComboBox/destroyDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1912]
> at 
> mx.controls::ComboBox/styleChanged()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1408]
> at 
> mx.core::UIComponent/notifyStyleChangeInChildren()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11332]
> at 
> mx.core::Container/commitProperties()[E:\dev\4.y\frameworks\projects\mx\src\mx\core\Container.as:3247]
> at 
> mx.core::UIComponent/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8219]
> at 
> mx.managers::LayoutManager/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:597]
> at 
> mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:813]
> at 
> mx.managers::LayoutManager/validateNow()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:878]
> at 
> mx.controls::ComboBox/displayDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1869]
> at 
> mx.controls::ComboBox/downArrowButton_buttonDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:2027]
> at flash.events::EventDispatcher/dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at 
> mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
> at 
> mx.controls::Button/http://www.adobe.com/2006/flex/mx/internal::buttonPressed()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2483]
> at 
> mx.controls::Button/mouseDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2744]
> at flash.events::EventDispatcher/dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at 
> mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
> at 
> mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]
>
>
> * This stack traces which we got while using Adobe Flex 4.6.
> * But The source code 'Adobe Flex 4.6' is same as 'Apache Flex 4.8's.
>
>
> It's the first time to send to mailing list and I'm not good at English.
> Please excuse me if you may not understand or you feel bad with my poor 
> English.
>
> Regards.
>
> Yusuke, MASUDA
> CAC Corporation (Japan)
>
>



Re: We faced a TypeError in using ComboBox.

Posted by Marcus Fritze <ma...@googlemail.com>.
Hi Yusuke,

can you create a very small test project with this issue? If you think this is really an issue you can file any issues here: https://issues.apache.org/jira/browse/FLEX and you can attach the test project to this bug (swf file / FXP file)

The mailing list is not the best way to file issues.

Best regards

Marcus

Am 13.12.2012 um 07:49 schrieb 増田 勇祐 <ym...@cac.co.jp>:

> Hi, all.
> 
> 
> I'm getting a trouble using 'mx.controls.ComboBox'.
> Could you help and give us a correct code.
> 
> 
> I got an error 'TypeError: Error #1009' when I clicked a combobox on inactive window. [see stack traces below]
> So I checked the source code, and I'm afraid that it's a kind of program bug.
> 
> We are using a custom ComboBox that extends 'mx.controls.ComboBox' which is made by ourselves.
> Though the error has occured on the component, it occur in not only our ComboBox, but also 'mx.controls.ComboBox'.
> 
> The immediate cause is a variable 'tween' is null (not initialized) at line:1912 of ComboBox.as.
> 
> When I clicked the ComboBox, a method 'displayDropdown' is running.
> Then a variable 'inTween' get change to 'true' when the process has come to line:1871.
> And a method 'UIComponentGlobals.layoutManager.validateNow()' is called at line:1877.
> After that an event 'styleChange' has fired, and 'destroyDropDown' is called from an event handler 'styleChanged' at line:1416
> 
> In 'destroyDropDown', a code is calling 'tween.endTween()' after 'inTween' checked, but 'tween' is not initialized yet.
> 
> The 'tween' is initializing in a method 'displayDropdown' at line:1890 after calling 'UIComponentGlobals.layoutManager.validateNow()'.
> So 'tween' still has been null.
> 
> We are thinking the code should be changed from "if (inTweet) " to "if (tween != null && inTween) {" at line:1919.
> 
> --- Stack Traces ----
> TypeError: Error #1009: null ...(Japanese message)...
> at mx.controls::ComboBox/destroyDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1912]
> at mx.controls::ComboBox/styleChanged()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1408]
> at mx.core::UIComponent/notifyStyleChangeInChildren()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11332]
> at mx.core::Container/commitProperties()[E:\dev\4.y\frameworks\projects\mx\src\mx\core\Container.as:3247]
> at mx.core::UIComponent/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8219]
> at mx.managers::LayoutManager/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:597]
> at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:813]
> at mx.managers::LayoutManager/validateNow()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:878]
> at mx.controls::ComboBox/displayDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1869]
> at mx.controls::ComboBox/downArrowButton_buttonDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:2027]
> at flash.events::EventDispatcher/dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
> at mx.controls::Button/http://www.adobe.com/2006/flex/mx/internal::buttonPressed()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2483]
> at mx.controls::Button/mouseDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2744]
> at flash.events::EventDispatcher/dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
> at mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]
> 
> 
> * This stack traces which we got while using Adobe Flex 4.6.
> * But The source code 'Adobe Flex 4.6' is same as 'Apache Flex 4.8's.
> 
> 
> It's the first time to send to mailing list and I'm not good at English.
> Please excuse me if you may not understand or you feel bad with my poor English.
> 
> Regards.
> 
> Yusuke, MASUDA
> CAC Corporation (Japan)
> 
>