Frage

stieß ich auf ein Problem mit der Statusmeldung auf Firefox von einem Plugin-Code zu aktualisieren.

Wie die Dokumentation sagt Aufruf NPN_Status funktioniert nur, wenn sie von dem Haupt-Thread bezeichnet. Meine Forderung ist es, den Status von jedem Thread innerhalb des Firefox-Prozesses zu aktualisieren.

Jede mögliche Hilfe würde geschätzt!

War es hilfreich?

Lösung

Sie können nicht von jedem Thread aktualisieren, da, dass einige der threadsafety Regeln verletzen würde. Sie werden Ihr Update zurück zum Haupt-Thread-Proxy haben.

Andere Tipps

Wie sdwilsh sagte, sind Sie die NPN_*-Funktionen aus dem Hauptthread nur nennen. NPN_PluginThreadAsyncCall wurde nur in Gecko 1.9 eingeführt und wird nicht in allen aktuellen Browsern unterstützt wird.

Umgehungen sind abhängig von der Plattform:

  • auf Windows Unterklasse das Fenster Plugin, Post / Senden von Nachrichten an sie und rufen Sie den Anruf aus dem Umgang mit Fenster Prozess
  • erhält
  • auf dem Mac mit Cocoa Sie zum Beispiel verwenden können performSelectorOnMainThread
  • auf dem Mac mit Kohlenstoff können Sie die Anrufe auf der Null Ereignis verwenden aufrufen
  • ... etc.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top