I needed to overcome the SDK issue with the MX ComboBox not updating when the dataProvider is updated:
A comment suggests overriding the ComboBox dataProvider setter:
override public function set dataProvider(value:Object):void
// The dropdown will not be properly reset unless it is currently shown.
super.dataProvider = value;
Because I don't want to override ComboBox, but rather recompile the MX one after modifying the dataProvider setter, I compile like this:
compc -source-path="C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\3.5.0\frameworks\projects\framework\src" -include-classes=mx.controls.ComboBox -output=ComboBox.swc
But when I add that SWC to my project, I get weird errors, like stuff referenced within the ComboBox are null.
Is this the wrong approach? I'd rather not extend ComboBox, because then I have to make changes throughout the app to reference it, and just modifying/compiling the MX ComboBox seems much cleaner.
Can’t move to 3.6?
Don't modify the framework source unless you are managing the build environment yourself and can rebuild the entire shebang with a few simple commands. Even then, you would not want to use most of the original compiled framework, but rather your "fork". Welcome to dependency hell.
Your best bet is to monkey-patch (override the class linkage at the top level by placing your own class with the same fully qualified class name)... or just upgrade to 3.6 as mentioned....