From f69a298f044ad5ccbc24bbb26885e54a3832add4 Mon Sep 17 00:00:00 2001 From: Yana Stamcheva Date: Wed, 11 May 2011 10:26:57 +0000 Subject: [PATCH] Fixes the active event notification handler set up. --- .../osdependent/jdic/SystrayServiceJdicImpl.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 abfe81d94..c900d1257 100644 --- a/src/net/java/sip/communicator/impl/osdependent/jdic/SystrayServiceJdicImpl.java +++ b/src/net/java/sip/communicator/impl/osdependent/jdic/SystrayServiceJdicImpl.java @@ -338,7 +338,7 @@ public void popupMenuCanceled(PopupMenuEvent e) // auto switch to the configured one when it will be available. // we will be aware of it since we listen for new registered // service in the bundle context. - if (activePopupHandler == null) + if (activePopupHandler == null && pph != null) { setActivePopupMessageHandler(pph); } @@ -678,12 +678,14 @@ public void serviceChanged(ServiceEvent serviceEvent) } else logger.warn("the following popup handler has not " + "been added since it is already known : " + handler); - + String configuredHandler = (String) configService. getProperty("systray.POPUP_HANDLER"); - - if (configuredHandler == null && - (handler.getPreferenceIndex() > activePopupHandler.getPreferenceIndex())) + + if (configuredHandler == null + && (activePopupHandler == null + || (handler.getPreferenceIndex() + > activePopupHandler.getPreferenceIndex()))) { // The user doesn't have a preferred handler set and new // handler with better preference index has arrived,