aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-table.c')
-rw-r--r--widgets/table/e-table.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c
index 6d0c4ee112..ffad7b3071 100644
--- a/widgets/table/e-table.c
+++ b/widgets/table/e-table.c
@@ -1102,14 +1102,20 @@ static gint
table_canvas_focus_event_cb (GtkWidget *widget, GdkEventFocus *event, gpointer data)
{
GnomeCanvas *canvas;
+ ECanvas *ecanvas;
ETable *etable;
gtk_widget_queue_draw (widget);
+ canvas = GNOME_CANVAS (widget);
+ ecanvas = E_CANVAS (widget);
- if (!event->in)
+ if (!event->in) {
+ gtk_im_context_focus_out(ecanvas->im_context);
return TRUE;
+ } else {
+ gtk_im_context_focus_in(ecanvas->im_context);
+ }
- canvas = GNOME_CANVAS (widget);
etable = E_TABLE (data);
if (!canvas->focused_item && etable->group)