Error #2004 when displaying tooltip in popup on FP 10.1
I'm posting a bug we're seeing here in hopes of someone seeing this will know what may be causing it, know how to fix it (presumably someone from Adobe), or have some better ideas on recreating in a simple test case.
Here is the bug:
https://bugs.adobe.com/jira/browse/SDK-25826
In our application, when using FP 10.1, we receive the following exception when Flex tries to display a tooltip from a component that is within a popup.
ArgumentError: Error #2004: One of the parameters is invalid.
at Error$/throwError()
at flash.text.engine::TextBlock/recreateTextLine()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at _wf_app_web_mx_managers_SystemManager/callInContext()
at flashx.textLayout.container::TextContainerManager/recreateTextLine()[/dir/src/flashx/textLayout/container/TextContainerManager.as:931]
at flashx.textLayout.container::TextContainerManager/callInContext()[/dir/src/flashx/textLayout/container/TextContainerManager.as:866]
at flashx.textLayout.compose::SimpleCompose/createTextLine()[/dir/src/flashx/textLayout/compose/SimpleCompose.as:234]
at flashx.textLayout.compose::SimpleCompose/composeNextLine()[/dir/src/flashx/textLayout/compose/SimpleCompose.as:186]
at flashx.textLayout.compose::BaseCompose/composeParagraphElementIntoLines()[/dir/src/flashx/textLayout/compose/BaseCompose.as:349]
at flashx.textLayout.compose::SimpleCompose/composeParagraphElement()[/dir/src/flashx/textLayout/compose/SimpleCompose.as:165]
at flashx.textLayout.compose::BaseCompose/composeBlockElement()[/dir/src/flashx/textLayout/compose/BaseCompose.as:221]
at flashx.textLayout.compose::BaseCompose/composeInternal()[/dir/src/flashx/textLayout/compose/BaseCompose.as:326]
at flashx.textLayout.compose::BaseCompose/composeTextFlow()[/dir/src/flashx/textLayout/compose/BaseCompose.as:292]
at flashx.textLayout.compose::SimpleCompose/composeTextFlow()[/dir/src/flashx/textLayout/compose/SimpleCompose.as:113]
at FactoryDisplayComposer/http://ns.adobe.com/textLayout/internal/2008::callTheComposer()[/dir/src/flashx/textLayout/factory/TextLineFactoryBase.as:422]
at flashx.textLayout.compose::StandardFlowComposer/internalCompose()[/dir/src/flashx/textLayout/compose/StandardFlowComposer.as:759]
at flashx.textLayout.compose::StandardFlowComposer/compose()[/dir/src/flashx/textLayout/compose/StandardFlowComposer.as:822]
at flashx.textLayout.factory::TextFlowTextLineFactory/createTextLines()[/dir/src/flashx/textLayout/factory/TextFlowTextLineFactory.as:128]
at flashx.textLayout.container::TextContainerManager/compose()[/dir/src/flashx/textLayout/container/TextContainerManager.as:1252]
at flashx.textLayout.container::TextContainerManager/updateContainer()[/dir/src/flashx/textLayout/container/TextContainerManager.as:1292]
at mx.core::FTETextField/composeHTMLText()[/sdk/4.0.0/frameworks/projects/spark/src/mx/core/FTETextField.as:3089]
at mx.core::FTETextField/validateNow()[/sdk/4.0.0/frameworks/projects/spark/src/mx/core/FTETextField.as:2530]
at mx.core::FTETextField/get width()[/sdk/4.0.0/frameworks/projects/spark/src/mx/core/FTETextField.as:572]
at mx.controls::ToolTip/measure()[/sdk/4.0.0/frameworks/projects/framework/src/mx/controls/ToolTip.as:364]
at mx.core::UIComponent/measureSizes()[/sdk/4.0.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8042]
at mx.core::UIComponent/validateSize()[/sdk/4.0.0/frameworks/projects/framework/src/mx/core/UIComponent.as:7966]
at mx.managers::LayoutManager/validateClient()[/sdk/4.0.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:889]
at mx.core::UIComponent/validateNow()[/sdk/4.0.0/frameworks/projects/framework/src/mx/core/UIComponent.as:7631]
at mx.managers::ToolTipManagerImpl/sizeTip()[/sdk/4.0.0/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as:987]
at mx.managers::ToolTipManagerImpl/http://www.adobe.com/2006/flex/mx/internal::initializeTip()[/sdk/4.0.0/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as:958]
at mx.managers::ToolTipManagerImpl/http://www.adobe.com/2006/flex/mx/internal::showTimer_timerHandler()[/sdk/4.0.0/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as:1539]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
Our application is very modular and we embed fonts, but I've tried various approaches in a test application and haven't been able to reproduce this exception.
Here's the stack/variables seen when debugging, http://screencast.com/t/MGU1MDEzNGIt. **To get here it requires commenting out the try/catch in StandardFlowComposer.internalCompose()** If I had to guess, it seems that recreateTextLine doesn't like getting the same textLine twice in the argsArray.
Anyone have thoughts?
