diff options
Diffstat (limited to 'packages/gtk+/gtk+-2.10.14/cell-renderer-edit-focus.patch')
-rw-r--r-- | packages/gtk+/gtk+-2.10.14/cell-renderer-edit-focus.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/gtk+/gtk+-2.10.14/cell-renderer-edit-focus.patch b/packages/gtk+/gtk+-2.10.14/cell-renderer-edit-focus.patch new file mode 100644 index 0000000000..aa7e276bec --- /dev/null +++ b/packages/gtk+/gtk+-2.10.14/cell-renderer-edit-focus.patch @@ -0,0 +1,30 @@ +Index: gtk/gtkcellrenderertext.c +=================================================================== +--- gtk/gtkcellrenderertext.c (revision 18557) ++++ gtk/gtkcellrenderertext.c (working copy) +@@ -1794,13 +1794,24 @@ gtk_cell_renderer_text_focus_out_event ( + gpointer data) + { + GtkCellRendererTextPrivate *priv; ++ GtkSettings *settings; ++ gboolean in_touchscreen_mode = FALSE; + + priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (data); + + if (priv->in_entry_menu) + return FALSE; + +- GTK_ENTRY (entry)->editing_canceled = TRUE; ++ if (gtk_widget_has_screen (entry)) ++ settings = gtk_settings_get_for_screen (gtk_widget_get_screen (entry)); ++ else ++ settings = gtk_settings_get_default (); ++ ++ g_object_get (G_OBJECT (settings), ++ "gtk-touchscreen-mode", &in_touchscreen_mode, ++ NULL); ++ ++ GTK_ENTRY (entry)->editing_canceled = !in_touchscreen_mode; + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (entry)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (entry)); + |