I have been hinting, but now I can give you the real info

The Adobe
Flash Player Beta caught us a bit off guard, it depends on having a Gtk
mainloop running, meaning that it really assumed to be in a Gtk browser. Now
Opera is not Gtk based (neither is Konqueror for that matter). What confused us
further was that Adobe kept stating that it needed XEmbed. What is the
real truth of the matter is this, the Flash Player was assuming two things -
neither clearly documented :
1. A Gtk mainloop is available
2. The window supplied to the plugin is the window of a GtkSocket
We made a big redesign of the pluginwrapper, and it now supports both Gtk and
Xt and the choice of mainloop is done runtime. This means two things:
1. We can have a mainloop negotiation before the plugin is loaded (I'm writing
up a spec that we will propose to other browser and plugin authors)
2. We now have a more flexible architecture that makes it possible to support
other toolkits in the future.
Currently if you want the Gtk mainloop you can answer affirmative to the
NPP_GetValue call with NPPVpluginNeedsXEmbed. This refers to the spec :
http://developer.mozilla.org/en/docs/XEmbed_Extension_for_Mozilla_PluginsHowever this spec is incomplete and not usable as a basis for
implementation. We hope that we will be able to rectify this with the mainloop
negotiation spec.