mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-13 04:10:13 +00:00
Fixed gtk_cell_area_stop_editing() to properly notify when editing is not canceled
This fixes bug 653289, in gtk+-2 gtk_tree_view_stop_editing() was previously responsible for notifying with gtk_cell_editable_editing_done(), this detail was missed when porting the cell renderer management to GtkCellArea.
This commit is contained in:
parent
b928664471
commit
00d79fdb61
@ -3464,11 +3464,14 @@ gtk_cell_area_activate_cell (GtkCellArea *area,
|
||||
* @area: a #GtkCellArea
|
||||
* @canceled: whether editing was canceled.
|
||||
*
|
||||
* Explicitly stops the editing of the currently
|
||||
* edited cell (see gtk_cell_area_get_edited_cell()).
|
||||
* Explicitly stops the editing of the currently edited cell.
|
||||
*
|
||||
* If @canceled is %TRUE, the cell renderer will emit
|
||||
* the ::editing-canceled signal.
|
||||
* If @canceled is %TRUE, the currently edited cell renderer
|
||||
* will emit the ::editing-canceled signal, otherwise the
|
||||
* the ::editing-done signal will be emitted on the current
|
||||
* edit widget.
|
||||
*
|
||||
* See gtk_cell_area_get_edited_cell() and gtk_cell_area_get_edit_widget().
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
@ -3490,6 +3493,13 @@ gtk_cell_area_stop_editing (GtkCellArea *area,
|
||||
/* Stop editing of the cell renderer */
|
||||
gtk_cell_renderer_stop_editing (priv->edited_cell, canceled);
|
||||
|
||||
/* When editing is explicitly halted either
|
||||
* the "editing-canceled" signal is emitted on the cell
|
||||
* renderer or the "editing-done" signal on the GtkCellEditable widget
|
||||
*/
|
||||
if (!canceled)
|
||||
gtk_cell_editable_editing_done (edit_widget);
|
||||
|
||||
/* Remove any references to the editable widget */
|
||||
gtk_cell_area_set_edited_cell (area, NULL);
|
||||
gtk_cell_area_set_edit_widget (area, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user