diff --git a/src/net/java/sip/communicator/impl/gui/main/MainFrame.java b/src/net/java/sip/communicator/impl/gui/main/MainFrame.java index a8ee80a6e..fb7e01c3d 100644 --- a/src/net/java/sip/communicator/impl/gui/main/MainFrame.java +++ b/src/net/java/sip/communicator/impl/gui/main/MainFrame.java @@ -1920,7 +1920,8 @@ protected void windowClosing(WindowEvent event) // On Mac systems the application is not quited on window close, so we // don't need to warn the user. if (!GuiActivator.getUIService().getExitOnMainWindowClose() - && !OSUtils.IS_MAC) + && !OSUtils.IS_MAC + && GuiActivator.getSystrayService().checkInitialized()) { SwingUtilities.invokeLater(new Runnable() { diff --git a/src/net/java/sip/communicator/impl/osdependent/jdic/SystrayServiceJdicImpl.java b/src/net/java/sip/communicator/impl/osdependent/jdic/SystrayServiceJdicImpl.java index f774b234a..94e6307f2 100644 --- a/src/net/java/sip/communicator/impl/osdependent/jdic/SystrayServiceJdicImpl.java +++ b/src/net/java/sip/communicator/impl/osdependent/jdic/SystrayServiceJdicImpl.java @@ -469,7 +469,8 @@ else if (originalDockImage != null) } } - private boolean checkInitialized() + @Override + public boolean checkInitialized() { if (!initialized) logger.error("Systray not init"); diff --git a/src/net/java/sip/communicator/service/systray/SystrayService.java b/src/net/java/sip/communicator/service/systray/SystrayService.java index b9ada8494..751abc6af 100644 --- a/src/net/java/sip/communicator/service/systray/SystrayService.java +++ b/src/net/java/sip/communicator/service/systray/SystrayService.java @@ -129,4 +129,10 @@ public PopupMessageHandler setActivePopupMessageHandler( * Selects the best available popup message handler */ public void selectBestPopupMessageHandler(); + + /** + * Checks if the systray icon has been initialized. + * @return True if the systray is initialized, false otherwise. + */ + public boolean checkInitialized(); }