From f9176ff1420d9cee294d9e8523ebba9f649edccd Mon Sep 17 00:00:00 2001 From: Yana Stamcheva Date: Thu, 23 Aug 2012 17:22:17 +0000 Subject: [PATCH] Adds plugin components in the Swing thread. --- .../impl/gui/main/menus/ToolsMenu.java | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java b/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java index 5c753ddf5..8d95a5810 100644 --- a/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java @@ -122,10 +122,16 @@ private void initPluginComponents() { for (ServiceReference serRef : serRefs) { - PluginComponent component = (PluginComponent) GuiActivator + final PluginComponent component = (PluginComponent) GuiActivator .bundleContext.getService(serRef); - this.add((Component)component.getComponent()); + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + add((Component) component.getComponent()); + } + }); } } @@ -212,11 +218,17 @@ void configActionPerformed() */ public void pluginComponentAdded(PluginComponentEvent event) { - PluginComponent c = event.getPluginComponent(); + final PluginComponent c = event.getPluginComponent(); if(c.getContainer().equals(Container.CONTAINER_TOOLS_MENU)) { - this.add((Component) c.getComponent()); + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + add((Component) c.getComponent()); + } + }); this.revalidate(); this.repaint(); @@ -230,11 +242,17 @@ public void pluginComponentAdded(PluginComponentEvent event) */ public void pluginComponentRemoved(PluginComponentEvent event) { - PluginComponent c = event.getPluginComponent(); + final PluginComponent c = event.getPluginComponent(); if(c.getContainer().equals(Container.CONTAINER_TOOLS_MENU)) { - this.remove((Component) c.getComponent()); + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + remove((Component) c.getComponent()); + } + }); } }