When SWT shell is activated, it sends us the client message XEMBED_WINDOW_ACTIVATE. Then, when AWT button is clicked with the mouse, embedded frame sends XEMBED_REQUEST_FOCUS client message to the SWT shell and receives a reply as XEMBED_FOCUS_IN. However, if the embedded frame is blocked (or is unfocusable because of some another reason), it shouldn't request focus from embedder.
Also, I haven't found any place in XEmbed specification that states that XEMBED_FOCUS_IN is only sent in reply to XEMBED_REQUEST_FOCUS. So we should not only prevent our embedded frames from requesting focus, but also filter all XEMBED_FOCUS_IN messages when the frame is unfocusable.