GNOME Bugzilla – Bug 657036
[Gtk3] autofilter
Last modified: 2011-09-12 19:30:29 UTC
Created attachment 194329 [details] screen shot We used to have a reasonably sized autofilter popup menu. The screenshot shows a menu that should contain about 14 items. Using scrollbars and showing a tiny meu is pointless.
Another problem with the autofilter menu is that you get multiple menus on top of each other if you click on the arrow several times.
Regarding the multiple windows, in gnm-cell-combo-view.c inside gnm_cell_combo_view_popdown we had: --------------------------------- if (0 == gdk_pointer_grab (popup_window, TRUE, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK, NULL, NULL, activate_time)) { if (0 == gdk_keyboard_grab (popup_window, TRUE, activate_time)) { gtk_grab_add (popup); } else { gdk_display_pointer_ungrab (gtk_widget_get_display (popup), activate_time); } } --------------------------------- which has become --------------------------------- gdk_device_grab (gtk_get_current_event_device (), popup_window, GDK_OWNERSHIP_APPLICATION, TRUE, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK, NULL, activate_time); --------------------------------- I don't understand this gdk_device_grab but this looks suspicious to me.
It seems that the destruction of the popup window is done in cb_ccombo_button_press (note that this is different from cb_ccombo_button_pressed) but this is never triggered. Basically the button down event should go to the list popup rather than the button but that doesn't happen. Basically the gdk_device_grab does not seem to have been successful!
Another auto-filter related problem is that selecting "top 10" yields: (gnumeric:23792): Gtk-WARNING **: Unknown property: GtkRadioButton.spacing (gnumeric:23792): Gtk-WARNING **: GtkRadioButton does not have a property called expand (gnumeric:23792): Gtk-WARNING **: GtkRadioButton does not have a property called fill (gnumeric:23792): Gtk-WARNING **: GtkRadioButton does not have a property called position (gnumeric:23792): Gtk-WARNING **: Attempting to add a widget with type GtkSpinButton to a GtkRadioButton, but as a GtkBin subclass a GtkRadioButton can only contain one widget at a time; it already contains a widget of type GtkLabel (gnumeric:23792): Gtk-WARNING **: GtkRadioButton does not have a property called expand (gnumeric:23792): Gtk-WARNING **: GtkRadioButton does not have a property called fill (gnumeric:23792): Gtk-WARNING **: GtkRadioButton does not have a property called position (gnumeric:23792): Gtk-WARNING **: Unknown property: GtkBox.use-action-appearance (gnumeric:23792): Gtk-WARNING **: Unknown property: GtkBox.active (gnumeric:23792): Gtk-WARNING **: Unknown property: GtkBox.draw-indicator (gnumeric:23792): Gtk-WARNING **: Unknown property: GtkBox.group (gnumeric:23792): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed
Gdk doc says: "gdk_pointer_grab has been deprecated since version 3.0 and should not be used in newly-written code. Use gdk_device_grab() instead."
Seems the grab issue is now fixed. The top 10 dialog ui file is borked, hence the warnings and criticals.
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
I don't think this is quite fixed yet: 1) If the number of distinct items is large the autofilter menu should of course be using scrollbars but not be quite that small. See the attached acreenshot and sample file. 2) At least for the sample file, if I open the top 10 all four radio buttons are selected, when they are really exclusive of each other.
Created attachment 196227 [details] screen shot
Created attachment 196228 [details] sample file for the last screen shot
Andreas, should be fixed, please test.
Yes this is fixed. Thank you very much! This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.