diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties
index c146b230d..85309c4e1 100644
--- a/resources/languages/resources.properties
+++ b/resources/languages/resources.properties
@@ -95,6 +95,8 @@ service.gui.CHAT_ROOM_USER_LEFT=has left {0}
service.gui.CHAT_ROOM_USER_KICKED=has been kicked from {0}
service.gui.CHAT_ROOM_USER_QUIT=has quit {0}
service.gui.CHAT_ROOM_NAME=Chat room name
+service.gui.ROOM_NAME=Room Name
+service.gui.AUTOJOIN=Autojoin
service.gui.CHAT_ROOM_NAME_INFO=In the field below enter the name of the chat room that you would like to create.
service.gui.CHAT_ROOM_NOT_EXIST=The {0} room was not found in the {1} server. Please verify if the name you typed is correct.
service.gui.CHAT_ROOM_NOT_CONNECTED=You need to be logged in in order to join the {0} chat room.
@@ -271,6 +273,7 @@ service.gui.MSG_RECEIVED={0} wrote
service.gui.MSG_SEND_CONNECTION_PROBLEM=You should be connected to be able to send messages.
service.gui.MULTIPLE_LOGINS=You have logged in more than once with the same account. The following account: User name: {0}, Server name: {1} is currently disconnected.
service.gui.MY_CHAT_ROOMS=Go to chat room...
+service.gui.MY_CHAT_ROOMS_TITLE=Go to chat room
service.gui.MUTE=Mute
service.gui.NETWORK=Network
service.gui.NETWORK_FAILURE=Network failure
diff --git a/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java b/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java
index 07aef4f48..5a5706a6d 100644
--- a/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java
+++ b/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java
@@ -440,7 +440,7 @@ public static void showNewAccountDialog()
*/
protected void close(boolean isEscaped)
{
- newAccountDialog = null;
+ dispose();
}
/**
diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/SendSmsDialog.java b/src/net/java/sip/communicator/impl/gui/main/chat/SendSmsDialog.java
index b71e41c9c..8bc247210 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chat/SendSmsDialog.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chat/SendSmsDialog.java
@@ -169,5 +169,6 @@ private void sendSmsMessage(String phoneNumber, String message)
@Override
protected void close(boolean isEscaped)
{
+ this.dispose();
}
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomConfigurationWindow.java b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomConfigurationWindow.java
index 00bc13bc2..68bb470af 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomConfigurationWindow.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomConfigurationWindow.java
@@ -457,5 +457,8 @@ public void run()
this.dispose();
}
- protected void close(boolean isEscaped) {}
+ protected void close(boolean isEscaped)
+ {
+ this.dispose();
+ }
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomWrapper.java b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomWrapper.java
index ba396671b..1d0d46327 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomWrapper.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomWrapper.java
@@ -53,8 +53,9 @@ public class ChatRoomWrapper
/**
* By default all chat rooms are persistent from UI point of view.
* But we can override this and force not saving it.
+ * If not overridden we query the wrapped room.
*/
- private boolean persistent = true;
+ private Boolean persistent = null;
/**
* Creates a ChatRoomWrapper by specifying the protocol provider,
@@ -151,6 +152,14 @@ public ChatRoomProviderWrapper getParentProvider()
*/
public boolean isPersistent()
{
+ if(persistent == null)
+ {
+ if(chatRoom != null)
+ persistent = chatRoom.isPersistent();
+ else
+ return true;
+ }
+
return persistent;
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/conference/InvitationReceivedDialog.java b/src/net/java/sip/communicator/impl/gui/main/chat/conference/InvitationReceivedDialog.java
index 84606616b..e8a1503c8 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chat/conference/InvitationReceivedDialog.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chat/conference/InvitationReceivedDialog.java
@@ -10,6 +10,7 @@
import java.awt.event.*;
import javax.swing.*;
+import javax.swing.border.*;
import net.java.sip.communicator.impl.gui.*;
import net.java.sip.communicator.impl.gui.utils.*;
@@ -125,13 +126,21 @@ public InvitationReceivedDialog (ConferenceChatManager multiUserChatManager,
new String[] { invitation.getInviter(),
invitation.getTargetChatRoom().getName()}));
- if(invitation.getReason() != null && !invitation.getReason().equals(""))
+ if(invitation.getReason() != null && invitation.getReason().length() > 0)
{
- invitationReasonTextArea.setText(invitation.getReason());
- invitationReasonTextArea.setBorder(
+ this.invitationReasonTextArea.setLineWrap(true);
+ this.invitationReasonTextArea.setWrapStyleWord(true);
+ this.invitationReasonTextArea.setOpaque(false);
+ this.invitationReasonTextArea.setEditable(false);
+
+ TitledBorder border =
BorderFactory.createTitledBorder(
GuiActivator.getResources()
- .getI18NString("service.gui.INVITATION")));
+ .getI18NString("service.gui.INVITATION"));
+ border.setTitleFont(border.getTitleFont().deriveFont(Font.BOLD));
+ invitationReasonTextArea.setBorder(border);
+
+ invitationReasonTextArea.setText(invitation.getReason());
this.dataPanel.add(invitationReasonTextArea, BorderLayout.CENTER);
}
@@ -244,6 +253,7 @@ public void initGUI()
/**
* Handles the ActionEvent triggered when one user clicks
* on one of the buttons.
+ * @param e the event.
*/
public void actionPerformed(ActionEvent e)
{
@@ -277,5 +287,7 @@ else if (button.equals(rejectButton))
}
protected void close(boolean isEscaped)
- {}
+ {
+ this.dispose();
+ }
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomList.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomList.java
index 6e0e2e869..e40411863 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomList.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomList.java
@@ -24,6 +24,9 @@
*/
public class ChatRoomList
{
+ /**
+ * The logger.
+ */
private static final Logger logger = Logger.getLogger(ChatRoomList.class);
/**
@@ -32,6 +35,12 @@ public class ChatRoomList
private final List providersList
= new Vector();
+ /**
+ * All ChatRoomProviderWrapperListener change listeners registered so far.
+ */
+ private List providerChangeListeners
+ = new ArrayList();
+
/**
* Initializes the list of chat rooms.
*/
@@ -119,6 +128,8 @@ public void addChatProvider(ProtocolProviderService pps)
}
}
}
+
+ fireProviderWrapperAdded(chatRoomProvider);
}
/**
@@ -177,6 +188,8 @@ private void removeChatProvider(ChatRoomProviderWrapper chatRoomProvider)
configService.setProperty(accountRootPropName, null);
}
}
+
+ fireProviderWrapperRemoved(chatRoomProvider);
}
/**
@@ -326,4 +339,78 @@ public Iterator getChatRoomProviders()
{
return providersList.iterator();
}
+
+ /**
+ * Adds a ChatRoomProviderWrapperListener to the listener list.
+ *
+ * @param listener the ChatRoomProviderWrapperListener to be added
+ */
+ public synchronized void addChatRoomProviderWrapperListener(
+ ChatRoomProviderWrapperListener listener)
+ {
+ providerChangeListeners.add(listener);
+ }
+
+ /**
+ * Removes a ChatRoomProviderWrapperListener from the listener list.
+ *
+ * @param listener the ChatRoomProviderWrapperListener to be removed
+ */
+ public synchronized void removeChatRoomProviderWrapperListener(
+ ChatRoomProviderWrapperListener listener)
+ {
+ providerChangeListeners.add(listener);
+ }
+
+ /**
+ * Fire that chat room provider wrapper was added.
+ * @param provider which was added.
+ */
+ private void fireProviderWrapperAdded(ChatRoomProviderWrapper provider)
+ {
+ if (providerChangeListeners != null)
+ {
+ for (ChatRoomProviderWrapperListener target : providerChangeListeners)
+ {
+ target.chatRoomProviderWrapperAdded(provider);
+ }
+ }
+ }
+
+ /**
+ * Fire that chat room provider wrapper was removed.
+ * @param provider which was removed.
+ */
+ private void fireProviderWrapperRemoved(ChatRoomProviderWrapper provider)
+ {
+ if (providerChangeListeners != null)
+ {
+ for (ChatRoomProviderWrapperListener target : providerChangeListeners)
+ {
+ target.chatRoomProviderWrapperRemoved(provider);
+ }
+ }
+ }
+
+ /**
+ * Listener which registers for provider add/remove changes.
+ */
+ public static interface ChatRoomProviderWrapperListener
+ {
+ /**
+ * When a provider wrapper is added this method is called to inform
+ * listeners.
+ * @param provider which was added.
+ */
+ public void chatRoomProviderWrapperAdded(
+ ChatRoomProviderWrapper provider);
+
+ /**
+ * When a provider wrapper is removed this method is called to inform
+ * listeners.
+ * @param provider which was removed.
+ */
+ public void chatRoomProviderWrapperRemoved(
+ ChatRoomProviderWrapper provider);
+ }
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomListDialog.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomListDialog.java
index 20e663927..178b4584f 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomListDialog.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomListDialog.java
@@ -167,5 +167,6 @@ else if (buttonName.equals(JOIN_CHAT_ROOM))
@Override
protected void close(boolean isEscaped)
{
+ this.dispose();
}
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomRightButtonMenu.java
index bb2bee0c2..c388d7194 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomRightButtonMenu.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomRightButtonMenu.java
@@ -7,10 +7,12 @@
package net.java.sip.communicator.impl.gui.main.chatroomslist;
import java.awt.event.*;
+import java.util.*;
import javax.swing.*;
import net.java.sip.communicator.impl.gui.*;
+import net.java.sip.communicator.impl.gui.main.chat.*;
import net.java.sip.communicator.impl.gui.main.chat.conference.*;
import net.java.sip.communicator.impl.gui.main.chatroomslist.joinforms.*;
import net.java.sip.communicator.impl.gui.utils.*;
@@ -29,7 +31,10 @@ public class ChatRoomRightButtonMenu
extends JPopupMenu
implements ActionListener
{
- private final ChatRoomWrapper chatRoomWrapper;
+ /**
+ * The current chat room wrapper.
+ */
+ private ChatRoomWrapper chatRoomWrapper;
/**
* Creates an instance of ChatRoomsListRightButtonMenu.
@@ -42,6 +47,10 @@ public ChatRoomRightButtonMenu(ChatRoomWrapper chatRoomWrapper)
this.setLocation(getLocation());
+ createMenuItem(
+ "service.gui.OPEN",
+ ImageLoader.CHAT_ROOM_16x16_ICON,
+ "openChatRoom");
JMenuItem joinChatRoomItem
= createMenuItem(
"service.gui.JOIN",
@@ -76,6 +85,7 @@ public ChatRoomRightButtonMenu(ChatRoomWrapper chatRoomWrapper)
/**
* Handles the ActionEvent. Determines which menu item was
* selected and makes the appropriate operations.
+ * @param e the event.
*/
public void actionPerformed(ActionEvent e)
{
@@ -97,6 +107,38 @@ else if (itemName.equals("joinChatRoom"))
{
conferenceManager.joinChatRoom(chatRoomWrapper);
}
+ else if (itemName.equals("openChatRoom"))
+ {
+ if(chatRoomWrapper.getChatRoom() != null)
+ {
+ if(!chatRoomWrapper.getChatRoom().isJoined())
+ {
+ conferenceManager.joinChatRoom(chatRoomWrapper);
+ }
+ }
+ else
+ {
+ // this is not a server persistent room we must create it
+ // and join
+ chatRoomWrapper =
+ GuiActivator.getUIService().getConferenceChatManager()
+ .createChatRoom(
+ chatRoomWrapper.getChatRoomName(),
+ chatRoomWrapper.getParentProvider()
+ .getProtocolProvider(),
+ new ArrayList(),
+ "",
+ true,
+ true);
+ }
+
+ ChatWindowManager chatWindowManager
+ = GuiActivator.getUIService().getChatWindowManager();
+ ChatPanel chatPanel
+ = chatWindowManager.getMultiChat(chatRoomWrapper, true);
+
+ chatWindowManager.openChat(chatPanel, true);
+ }
else if(itemName.equals("joinAsChatRoom"))
{
ChatRoomAuthenticationWindow authWindow
diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java
index e0274d955..f2ad8901d 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java
@@ -50,11 +50,6 @@ public class ChatRoomTableDialog
*/
private JComboBox roomsCombo = null;
- /**
- * Rooms of the currently selected provider.
- */
- private List serverRooms = null;
-
/**
* The add chat room button.
*/
@@ -130,6 +125,9 @@ public ChatRoomTableDialog(MainFrame parentWindow)
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+ this.setTitle(GuiActivator.getResources()
+ .getI18NString("service.gui.MY_CHAT_ROOMS_TITLE"));
+
this.init();
}
@@ -143,38 +141,20 @@ private void init()
JPanel northPanel = new TransparentPanel(new BorderLayout(5, 5));
northPanel.setBorder(BorderFactory.createEmptyBorder(15, 15, 5, 15));
- JPanel labels = new TransparentPanel(new GridLayout(3, 2, 5, 5));
-
- final JLabel jl_searchState = new JLabel(GuiActivator.getResources()
- .getI18NString("service.gui.LOADING_ROOMS"),
- JLabel.LEFT);
- jl_searchState.setBorder(BorderFactory.createEmptyBorder(3, 7, 0, 0));
- jl_searchState.setFont(
- jl_searchState.getFont().deriveFont(Font.ITALIC, 11));
- jl_searchState.setForeground(Color.DARK_GRAY);
- jl_searchState.setVisible(false);
+ JPanel labels = new TransparentPanel(new GridLayout(2, 2, 5, 5));
labels.add(new JLabel(GuiActivator.getResources()
.getI18NString("service.gui.ACCOUNT")));
labels.add(new JLabel(GuiActivator.getResources()
.getI18NString("service.gui.CHAT_ROOM_NAME")));
- labels.add(jl_searchState);
- JPanel valuesPanel = new TransparentPanel(new GridLayout(3, 2, 5, 5));
+ JPanel valuesPanel = new TransparentPanel(new GridLayout(2, 2, 5, 5));
providersCombo = createProvidersCombobox();
roomsCombo = new JComboBox();
roomsCombo.setEditable(true);
roomsCombo.setPreferredSize(providersCombo.getPreferredSize());
editor = ((JTextField)roomsCombo.getEditor().getEditorComponent());
- // when enter is typed in the editor we query for available
- // room names
- editor.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e)
- {
- handleChange((JTextField)e.getSource());
- }
- });
// when provider is changed we load providers rooms list
// so we can show them in the combobox below
@@ -190,9 +170,7 @@ public void run()
{
okButton.setEnabled(false);
roomsCombo.setEnabled(false);
- jl_searchState.setVisible(true);
loadProviderRooms();
- jl_searchState.setVisible(false);
roomsCombo.setEnabled(true);
okButton.setEnabled(true);
}
@@ -200,16 +178,8 @@ public void run()
}
});
- JLabel jl_indication = new JLabel(GuiActivator.getResources()
- .getI18NString("service.gui.PRESS_ENTER_FOR_SUGGESTIONS"),
- SwingConstants.RIGHT);
- jl_indication.setFont(
- jl_indication.getFont().deriveFont(Font.ITALIC, 11));
- jl_indication.setForeground(Color.DARK_GRAY);
-
valuesPanel.add(providersCombo);
valuesPanel.add(roomsCombo);
- valuesPanel.add(jl_indication);
northPanel.add(labels, BorderLayout.WEST);
northPanel.add(valuesPanel, BorderLayout.CENTER);
@@ -275,6 +245,26 @@ public void valueChanged(ListSelectionEvent e)
}
}
});
+
+ //register listener to listen for newly added chat room providers
+ // and for removed ones
+ GuiActivator.getUIService().getConferenceChatManager()
+ .getChatRoomList().addChatRoomProviderWrapperListener(
+ new ChatRoomList.ChatRoomProviderWrapperListener()
+ {
+
+ public void chatRoomProviderWrapperAdded(
+ ChatRoomProviderWrapper provider)
+ {
+ providersCombo.addItem(provider);
+ }
+
+ public void chatRoomProviderWrapperRemoved(
+ ChatRoomProviderWrapper provider)
+ {
+ providersCombo.removeItem(provider);
+ }
+ });
}
/**
@@ -310,17 +300,14 @@ public void actionPerformed(ActionEvent e)
{
String chatRoomName = editor.getText();
- if(serverRooms == null || !serverRooms.contains(chatRoomName))
- {
- GuiActivator.getUIService().getConferenceChatManager()
- .createChatRoom(
- chatRoomName,
- getSelectedProvider().getProtocolProvider(),
- new ArrayList(),
- "",
- false,
- true);
- }
+ GuiActivator.getUIService().getConferenceChatManager()
+ .createChatRoom(
+ chatRoomName,
+ getSelectedProvider().getProtocolProvider(),
+ new ArrayList(),
+ "",
+ false,
+ true);
}
else if(sourceButton.equals(removeButton))
{
@@ -399,65 +386,31 @@ else if(sourceButton.equals(cancelButton))
protected void close(boolean isEscaped)
{
chatRoomTableDialog = null;
+
+ dispose();
}
/**
- * Performs changes in the room name combo box when its editor content has
- * changed.
- * @param editor
+ * Loads the rooms hosted on the selected provider.
*/
- public void handleChange(final JTextField editor)
+ public void loadProviderRooms()
{
- final String match = editor.getText();
+ List rooms = GuiActivator.getUIService().getConferenceChatManager()
+ .getExistingChatRooms(getSelectedProvider());
- if (!SwingUtilities.isEventDispatchThread())
- {
- SwingUtilities.invokeLater(new Runnable(){
- public void run()
- {
- handleChange(editor);
- }
- });
+ roomsCombo.removeAllItems();
+ // if there is no room list comming from provider
+ if(rooms == null)
return;
- }
- roomsCombo.removeAllItems();
+ Collections.sort(rooms);
- for(String room : getChatRoomList(match))
+ for(String room : rooms)
roomsCombo.addItem(room);
- editor.setText(match);
- roomsCombo.showPopup();
- }
-
- /**
- * Updates the chat rooms list when a key change is performed in the search
- * field. The new chat rooms list will contain all the chat rooms whose name
- * start with search fields text value.
- * @param match search for.
- * @return the found rooms.
- */
- public Vector getChatRoomList(String match)
- {
- Vector rooms = new Vector();
-
- if(serverRooms != null)
- for(String room : serverRooms)
- if(room.startsWith(match))
- rooms.add(room);
-
- Collections.sort(rooms);
- return rooms;
- }
-
- /**
- * Loads the rooms hosted on the selected provider.
- */
- public void loadProviderRooms()
- {
- serverRooms = GuiActivator.getUIService().getConferenceChatManager()
- .getExistingChatRooms(getSelectedProvider());
+ // select nothing
+ roomsCombo.setSelectedIndex(-1);
}
/**
diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableModel.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableModel.java
index 046ed00e7..771a58b7c 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableModel.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableModel.java
@@ -37,7 +37,10 @@ public class ChatRoomTableModel
* The column names for the table.
*/
private final static String[] COLUMN_NAMES =
- new String[]{"Room Name", "Account", "Autojoin"};
+ new String[]{
+ GuiActivator.getResources().getI18NString("service.gui.ROOM_NAME"),
+ GuiActivator.getResources().getI18NString("service.gui.ACCOUNT"),
+ GuiActivator.getResources().getI18NString("service.gui.AUTOJOIN")};
/**
* The current list of rooms.
diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableUI.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableUI.java
index 162cd236f..1970f8dcb 100644
--- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableUI.java
+++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableUI.java
@@ -48,9 +48,6 @@ public class ChatRoomTableUI
*/
public ChatRoomTableUI(ChatRoomTableDialog parentDialog)
{
- this.setPreferredSize(new Dimension(200, 450));
- this.setMinimumSize(new Dimension(80, 200));
-
this.initChatRoomList();
this.setViewportView(chatRoomList);
@@ -80,10 +77,10 @@ private void initChatRoomList()
confChatManager.addChatRoomListChangeListener(chatRoomsTableModel);
- this.chatRoomList.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
- this.chatRoomList.getColumnModel().getColumn(0).setMinWidth(250);
- this.chatRoomList.getColumnModel().getColumn(1).setMinWidth(250);
- this.chatRoomList.getColumnModel().getColumn(2).setPreferredWidth(50);
+// this.chatRoomList.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
+// this.chatRoomList.getColumnModel().getColumn(0).setMinWidth(250);
+// this.chatRoomList.getColumnModel().getColumn(1).setMinWidth(250);
+// this.chatRoomList.getColumnModel().getColumn(2).setPreferredWidth(50);
}
/**
diff --git a/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java b/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java
index fdadadef1..b11ee4425 100644
--- a/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java
+++ b/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java
@@ -187,6 +187,7 @@ public void setVisible(boolean isVisible)
*/
protected void close(boolean isEscaped)
{
+ this.setVisible(false);
}
/**
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/caps/CapsPacketExtension.java b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/caps/CapsPacketExtension.java
index 8005d92eb..71184bc0e 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/caps/CapsPacketExtension.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/caps/CapsPacketExtension.java
@@ -80,6 +80,7 @@ public CapsPacketExtension(String ext,
String hash,
String ver)
{
+ this.ext = ext;
this.node = node;
this.ver = ver;
this.hash = hash;