My bad. I had in fact been compiling a modified version of FocusManager into my 
code, and what I did below overwrote my mods with the original source. 
Apparently  my mods were causing the problem. So now that I know roughly where 
the problem is, I should be able to pinpoint it.

Long ago I changed this in FocusManager:

    form.addEventListener(KeyboardEvent.KEY_DOWN, defaultButtonKeyHandler);
    form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);


to this:

      form.addEventListener(KeyboardEvent.KEY_UP, defaultButtonKeyHandler); 
      form.addEventListener(KeyboardEvent.KEY_UP, keyDownHandler, true);    


I wanted to change the behavior of the ENTER key, not the tab key. I was having 
problems that when dialogs were dismissed with the enter key, the KEY_UP event 
would get dispatched in the dialog's parent, and that was causing me grief in a 
few places. I should be able to fix it so I keep my desired behavior for the 
ENTER key, and the correct behavior for the tab KEY_DOWN as well.

Thanks Alex, as always, for sharing your insights.
      From: Alex Harui <[email protected]>
 To: "[email protected]" <[email protected]>; Dave Glasser 
<[email protected]> 
 Sent: Friday, August 21, 2015 7:11 PM
 Subject: Re: Odd tab/focus behavior
   


On 8/21/15, 4:03 PM, "Dave Glasser" <[email protected]> wrote:

>
>Clicking the titlebar of the main window, then back to the spawned window
>before typing (which should generate Event.ACTIVATE) does not help.
>But here's something else that makes no sense. I compiled FocusManager.as
>from the Flex 4.13.0 SDK into my app so I could put some trace statements
>in it. And without changing anything, that fixed the problem. So I'm not
>going to argue with success. I'll just add it to my build, and keep an
>eye out for other problems that might arise because of it.
>
>But is it possible that the FocusManager class that's compiled into the
>4.13.0 library SWC was not compiled from that source file? I'm quite sure
>I'm compiling with the 4.13.0 SDK's mxmlc.bat.

That’s weird.  You can swfdump the FocusManager and compare it to the
source if you really want to know.
Are you using any third-party SWCs?  If they have a FocusManager depending
on how it was built there is a slim chance it would get linked in instead
of the one in the framework.swc.  Or if you happen to have another
monkey-patched FocusManager on the source-path, that one could be getting


in.

-Alex
  



  

Reply via email to