After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 657036 - [Gtk3] autofilter
[Gtk3] autofilter
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: GUI
git master
Other Linux
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2011-08-21 20:14 UTC by Andreas J. Guelzow
Modified: 2011-09-12 19:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
screen shot (23.91 KB, image/png)
2011-08-21 20:14 UTC, Andreas J. Guelzow
Details
screen shot (80.96 KB, image/png)
2011-09-12 03:13 UTC, Andreas J. Guelzow
Details
sample file for the last screen shot (12.89 KB, application/x-gnumeric)
2011-09-12 03:14 UTC, Andreas J. Guelzow
Details

Description Andreas J. Guelzow 2011-08-21 20:14:21 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.
Comment 1 Andreas J. Guelzow 2011-09-09 00:25:42 UTC
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.
Comment 2 Andreas J. Guelzow 2011-09-09 18:14:45 UTC
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.
Comment 3 Andreas J. Guelzow 2011-09-09 18:28:14 UTC
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!
Comment 4 Andreas J. Guelzow 2011-09-09 18:30:17 UTC
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
Comment 5 Jean Bréfort 2011-09-10 20:29:17 UTC
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."
Comment 6 Jean Bréfort 2011-09-10 20:53:07 UTC
Seems the grab issue is now fixed. The top 10 dialog ui file is borked, hence the warnings and criticals.
Comment 7 Jean Bréfort 2011-09-11 06:53:34 UTC
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.
Comment 8 Andreas J. Guelzow 2011-09-12 03:13:15 UTC
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.
Comment 9 Andreas J. Guelzow 2011-09-12 03:13:55 UTC
Created attachment 196227 [details]
screen shot
Comment 10 Andreas J. Guelzow 2011-09-12 03:14:28 UTC
Created attachment 196228 [details]
sample file for the last screen shot
Comment 11 Jean Bréfort 2011-09-12 14:08:49 UTC
Andreas, should be fixed, please test.
Comment 12 Andreas J. Guelzow 2011-09-12 19:30:29 UTC
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.