flex-sdk

Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
FLEX-28291 CAUSE: Please see the fxp attached to the ticket for a way to reproduce this bug. From the Flex Jira bugs and the bug reports in our application I'm sure there are many other ways, but that's the one I could find.

There are ways to time the call to getMajorSize() on LinearLayoutVector in such a way that at that particular moment it's not yet synchronised with the DataGroup's current dataProvider, but instead with the previous one. (This applies for a snapshot before and after it's refresh()ed, as the items can vary wildly, as in the attachment). But getMajorSize() assumes that its blockTable is an accurate mapping of the current dataProvider length (disguised as DataGroup.numElements), and that therefore the index it receives as a parameter will exist (after the 'index >> BLOCK_SHIFT' mapping) in its blockTable Vector. Indeed, its assumption is correct, because it's the responsibility of VerticalLayout and HorizontaLayout to keep it in sync with the changed dataProvider.

This possibility is opened by List.dataProviderRefreshed(), which waits for the validation cycle to finish before asking the list to ensureCaretVisibility() for an index it computed before the validation cycle. However, if the dataProvider somehow changes after the validation cycle and before UPDATE_COMPLETE, we're in trouble.

SOLUTION:

Get VerticalLayout and HorizontaLayout to call updateLLV(g) before calling getBounds() on their LinearLayoutVector. This way, at least, the blockTable Vector in LinearLayoutVector has the correct length, if incorrect (empty) data.

NOTES:

-As alluded to above, while this fix does remove the fatal, it does not actually make the list scroll to the previously selected index. To achieve that we would need to call updateDisplayListVirtual() instead of updateLLV, but that's impossible because it will fail with another fatal (Error #1009 in VerticalLayout/calculateElementWidth():1721). That's because now the DataGroup will return null for getVirtualElementAt(), as its 'virtualLayoutUnderway' is false, since the validation cycle has completed. To get around this we'd need to either call validateNow whenever the DataGroup's dataProvider is reset, refreshed or replaced, or instead remove the virtualLayoutUnderway conditional from getVirtualElementAt(), but both of these are major changes with many potential side effects. If anyone wants to investigate them, they are most welcome.

-From what I can tell, the only reason List.dataProviderRefreshed() exists is that when it redraws, the list does not keep the current scroll position, but instead starts from the top/left. If we could make it redraw directly on the current scroll position (or the maximum the new items can occupy), we would remove the need for List.dataProviderRefreshed(), thus removing the potential for this bug.

FLEX-28291 Removing unused imports.

FLEX-32541 Removing unused constant.

FLEX-32541 CAUSE: AdvancedDataGridHeaderRenderer.mouseEventToHeaderPart() assumes that sortItemRendererInstance cannot be null. However, as the project attached to the ticket shows, it can.

SOLUTION:

When sortItemRendererInstance is null, we return AdvancedDataGrid.HEADER_TEXT_PART, as there is no icon.

FLEX-34476 Added RichTextEditor

  1. … 6 more files in changeset.
FLEX-34476 Added RichTextEditor

looks like US locale has crept back in, other locale differences (i.e. date format) are fine however

Fix for FLEX-34323. Allow mustella test directory to be located at a directory defined by the environment variable "MUSTELLA_TEST_DIR". Use FLEX_HOME for sdk.dir with a fallback of "${basedir}/.." Look for cygwin shell in /cygwin64/bin/sh.exe as well as /cygwin/bin/sh. Add init() method documentation to README file.

    • -1
    • +16
    /mustella/as3/src/mustella/UnitTester.as
Merge remote-tracking branch 'remotes/origin/develop' into new_android_skins

Conflicts:

LICENSE

Remove android.css since it has been merged into defaults.css

update mac baseline now that it is out from under the panel gradient

fix failing advancedcss test on windows. The button was in the dropshadow of a panel and was rendered differently on FP14 vs FP11. I moved the button below the dropshadow

Move TextSkinBase to correct package

Move to correct package

Cleanup imports

Update android css skins (this file will be deleted shortly)

Include all Android skins so that they will get compiled into mobiletheme.swc

Merge Android4.x skins into defaults.css First the default skins appear, then Android specific skins overwrite the default ones

Add Roboto fonts to compile-config.xml so that they will be included in mobiletheme.swc

Include android fonts

Fix package name of spark/components/MobileBusyIndicator.as Fix constructor name

Add Apache license header

Add android4 specific TextSkinBase

Add AndroidPlatformVersionOverride to FrameworkClasses

FLEX-34034 handle degenerate case when copying single newline into TextInput

another test commit, testing using my apache username on commit

fix missing slash

remove temp target

My test commit to repo

Let's make magic happen

Renaming class to AndroidPlatformVersionOverride as that makes more sense