From 04c546cc97483bb87e79184c3e78060fdf296e7d Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sun, 2 Sep 2012 22:21:09 -0700 Subject: [PATCH] psppire-cell-renderer: Fix behavior of repeated clicks on a button. I'm not sure why I thought this code was necessary. Removing it fixes the problem, which John Darrington reported as: 1. Create or load a dataset with one or more variables. 2. Switch to the variable sheet. 3. Click on one of the in-cell buttons (for example) Value Labels. 4. After the dialog box appears, cancel it with the cancel button. 5. The dialog closes, and the button which invoked it, now has the focus. However clicking on that button again refuses to bring the dialog back. One has to move off the button and onto the cell background. --- src/ui/gui/psppire-cell-renderer-button.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/ui/gui/psppire-cell-renderer-button.c b/src/ui/gui/psppire-cell-renderer-button.c index 978908e01f..8b9e9076dc 100644 --- a/src/ui/gui/psppire-cell-renderer-button.c +++ b/src/ui/gui/psppire-cell-renderer-button.c @@ -292,25 +292,6 @@ psppire_cell_renderer_button_clicked (GtkButton *button, g_free (path); } -static gboolean -psppire_cell_renderer_button_focus_out_event (GtkWidget *widget, - GdkEvent *event, - gpointer data) -{ - PsppireCellRendererButton *cell_button = data; - - g_signal_handlers_disconnect_by_func (widget, - psppire_cell_renderer_button_focus_out_event, - data); - g_signal_handlers_disconnect_by_func (widget, - psppire_cell_renderer_button_clicked, - data); - - gtk_cell_renderer_stop_editing (GTK_CELL_RENDERER (cell_button), FALSE); - - return FALSE; -} - #define IDLE_ID_STRING "psppire-cell-renderer-button-idle-id" static gboolean @@ -419,9 +400,6 @@ psppire_cell_renderer_button_start_editing (GtkCellRenderer *cell, "slash", cell_button->slash, NULL); - g_signal_connect (G_OBJECT (cell_button->button), "focus-out-event", - G_CALLBACK (psppire_cell_renderer_button_focus_out_event), - cell); g_signal_connect (G_OBJECT (cell_button->button), "clicked", G_CALLBACK (psppire_cell_renderer_button_clicked), cell); -- 2.30.2