-
11 Jan 2010 11:00 PM #1
[FIXED][GXT 2.1.0] ListView fires multiple SelectionChangedEvents
[FIXED][GXT 2.1.0] ListView fires multiple SelectionChangedEvents
I'm using GXT 2.1.0 with GWT 2.0 on Mac OS X in both Safari and Firefox (latest versions of each). If I attached a selection changed listener to the ListView's selection model and the ListView's selection model's selection mode is set to MULTI, I receive two events of the same type every time I click. The selection isn't even changing and I still receive two events. Basic example code:
I have set the template and item selector appropriately in my code, but left it out, as it doesn't seem to matter.Code:ListView<BaseModel> listView = new ListView<BaseModel>(); listView.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener<BaseModel>() { public void selectionChanged(SelectionChangedEvent<BaseModel> se) { // Code will be fired twice here on every click } }
I tried setting the selection model mode to SINGLE and it worked as expected only receiving one event and only when the selection actually changed.
-
11 Jan 2010 11:04 PM #2
Just to note, the events appear to be on mouse down and then mouse up. If you place a println statement in the event handler and click down, you'll see the message print to the console. After releasing the mouse, you'll see the second one.
-
14 Jan 2010 8:56 AM #3
maybe its better if you create a standalone runnig example class which includes the EntryPoint - this avoids side effects from other code and can be debugged more easy by other forum readers.
This forum needs your help: you got hints from the community and now you have fixed your code? dont just reply with "now its fixed" or "i found the error"! please take the time to post also an detailed answer with the working code.
GreaseMonkey Script for a GXT-only Forum: it hides ExtJs here: New Posts • Search Results • Advanced Search form • Category overview http://www.extjs.com/forum/showthrea...041#post410041
-
20 Jan 2010 9:34 PM #4
This bug is fixed in the releases/2.1 branch and is now available in the 2.1.1-beta release available here.
-
11 Aug 2011 1:29 PM #5
Not sure if it's still this bug, but I see duplicate SelectionChanged events for the combobox with 2.2.4.
If I do a stack trace in my listener, I get two that look like:
Code:at Unknown.com_extjs_gxt_ui_client_event_SelectionChangedListener_$handleEvent__Lcom_extjs_gxt_ui_client_event_SelectionChangedListener_2Lcom_extjs_gxt_ui_client_event_SelectionChangedEvent_2V(SelectionChangedListener.java:30) at Unknown.com_extjs_gxt_ui_client_event_SelectionChangedListener_handleEvent__Lcom_extjs_gxt_ui_client_event_BaseEvent_2V(SelectionChangedListener.java:29) at Unknown.com_extjs_gxt_ui_client_event_BaseObservable_$callListener__Lcom_extjs_gxt_ui_client_event_BaseObservable_2Lcom_extjs_gxt_ui_client_event_Listener_2Lcom_extjs_gxt_ui_client_event_BaseEvent_2V(BaseObservable.java:178) at Unknown.com_extjs_gxt_ui_client_event_BaseObservable_$fireEvent__Lcom_extjs_gxt_ui_client_event_BaseObservable_2Lcom_extjs_gxt_ui_client_event_EventType_2Lcom_extjs_gxt_ui_client_event_BaseEvent_2Z(BaseObservable.java:86) at Unknown.com_extjs_gxt_ui_client_event_BaseObservable_fireEvent__Lcom_extjs_gxt_ui_client_event_EventType_2Lcom_extjs_gxt_ui_client_event_BaseEvent_2Z(BaseObservable.java:77) at Unknown.com_extjs_gxt_ui_client_widget_Component_$fireEvent__Lcom_extjs_gxt_ui_client_widget_Component_2Lcom_extjs_gxt_ui_client_event_EventType_2Lcom_extjs_gxt_ui_client_event_BaseEvent_2Z(Component.java:444) at Unknown.com_extjs_gxt_ui_client_widget_form_ComboBox_$setValue__Lcom_extjs_gxt_ui_client_widget_form_ComboBox_2Lcom_extjs_gxt_ui_client_data_ModelData_2V(ComboBox.java:967) at Unknown.com_extjs_gxt_ui_client_widget_form_ComboBox_setValue__Lcom_extjs_gxt_ui_client_data_ModelData_2V(ComboBox.java:960) at Unknown.com_extjs_gxt_ui_client_widget_form_ComboBox_$onSelect__Lcom_extjs_gxt_ui_client_widget_form_ComboBox_2Lcom_extjs_gxt_ui_client_data_ModelData_2IV(ComboBox.java:1366) at Unknown.com_extjs_gxt_ui_client_widget_form_ComboBox_$onViewClick__Lcom_extjs_gxt_ui_client_widget_form_ComboBox_2Lcom_extjs_gxt_ui_client_event_DomEvent_2ZV(ComboBox.java:1425) at Unknown.com_extjs_gxt_ui_client_widget_form_ComboBox$6_$handleEvent__Lcom_extjs_gxt_ui_client_widget_form_ComboBox$6_2Lcom_extjs_gxt_ui_client_event_ListViewEvent_2V(ComboBox.java:1193) at Unknown.com_extjs_gxt_ui_client_widget_form_ComboBox$6_handleEvent__Lcom_extjs_gxt_ui_client_event_BaseEvent_2V(ComboBox.java:1192) at Unknown.com_extjs_gxt_ui_client_event_BaseObservable_$callListener__Lcom_extjs_gxt_ui_client_event_BaseObservable_2Lcom_extjs_gxt_ui_client_event_Listener_2Lcom_extjs_gxt_ui_client_event_BaseEvent_2V(BaseObservable.java:178) at Unknown.com_extjs_gxt_ui_client_event_BaseObservable_$fireEvent__Lcom_extjs_gxt_ui_client_event_BaseObservable_2Lcom_extjs_gxt_ui_client_event_EventType_2Lcom_extjs_gxt_ui_client_event_BaseEvent_2Z(BaseObservable.java:86) at Unknown.com_extjs_gxt_ui_client_event_BaseObservable_fireEvent__Lcom_extjs_gxt_ui_client_event_EventType_2Lcom_extjs_gxt_ui_client_event_BaseEvent_2Z(BaseObservable.java:77) at Unknown.com_extjs_gxt_ui_client_widget_Component_$fireEvent__Lcom_extjs_gxt_ui_client_widget_Component_2Lcom_extjs_gxt_ui_client_event_EventType_2Lcom_extjs_gxt_ui_client_event_ComponentEvent_2Z(Component.java:456) at Unknown.com_extjs_gxt_ui_client_widget_ListView_$onMouseDown__Lcom_extjs_gxt_ui_client_widget_ListView_2Lcom_extjs_gxt_ui_client_event_ListViewEvent_2V(ListView.java:719) at Unknown.com_extjs_gxt_ui_client_widget_ListView_onComponentEvent__Lcom_extjs_gxt_ui_client_event_ComponentEvent_2V(ListView.java:381) at Unknown.com_extjs_gxt_ui_client_widget_Component_$onBrowserEvent__Lcom_extjs_gxt_ui_client_widget_Component_2Lcom_google_gwt_user_client_Event_2V(Component.java:884) at Unknown.com_extjs_gxt_ui_client_widget_Component_onBrowserEvent__Lcom_google_gwt_user_client_Event_2V(Component.java:823) at Unknown.com_google_gwt_user_client_DOM_dispatchEventImpl__Lcom_google_gwt_user_client_Event_2Lcom_google_gwt_user_client_Element_2Lcom_google_gwt_user_client_EventListener_2V(DOM.java:1321) at Unknown.com_google_gwt_user_client_DOM_dispatchEvent__Lcom_google_gwt_user_client_Event_2Lcom_google_gwt_user_client_Element_2Lcom_google_gwt_user_client_EventListener_2V(DOM.java:1277) at Unknown.anonymous(DOMImplStandard.java:173) at Unknown.com_google_gwt_core_client_impl_Impl_apply__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Impl.java:168) at Unknown.com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Impl.java:214) at Unknown.anonymous(Impl.java:57)
-
11 Aug 2011 1:34 PM #6
Can you please post a fully working testcase implementing EntryPoint that shows your problem? With this stacktrace i cannot really follow what you want to say.
Thank you for reporting this bug. We will make it our priority to review this report.


Reply With Quote