TabPaneSelectionListener#selectedIndexChanged called twice when first tab is inserted -------------------------------------------------------------------------------------
Key: PIVOT-751 URL: https://issues.apache.org/jira/browse/PIVOT-751 Project: Pivot Issue Type: Bug Components: wtk Affects Versions: 2.0 Reporter: Edvin Syse Priority: Minor If you add a tab to an _empty_ tabpane, two selectedIndexChanged events are called. I.e, when you add a TabPaneSelectionListener to a tabpane and call: tabpane.getTabs().add(component); .. the listener fires twice, with previousSelectedIndex set to -1 and then 0. The two events are fired by line 68 and 72 in TabPane.java: 68 tabPaneListeners.tabInserted(TabPane.this, index); 69 70 // Fire selection change event, if necessary 71 if (selectedIndex != previousSelectedIndex) { 72 tabPaneSelectionListeners.selectedIndexChanged(TabPane.this, selectedIndex); 73 } This could be fixed by taking into account that previousSelectedIndex might have been -1 when invoked, like this: if (selectedIndex != previousSelectedIndex && previousSelectedIndex > -1) { See this thread for more info: http://apache-pivot-users.399431.n3.nabble.com/TabPaneSelectionListener-selectedIndexChanged-called-twice-when-first-tab-is-inserted-td3022515.html PS: According to Chris, CardPane and Accordion behave in the same way, so any changes to TabPane should also be made to these for consistency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira