aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc/e-canvas.c
diff options
context:
space:
mode:
authorDamon Chaplin <damon@helixcode.com>2000-05-03 06:26:16 +0800
committerDamon Chaplin <damon@src.gnome.org>2000-05-03 06:26:16 +0800
commit848cacc4905bc5a0423db986119fc708a4ec4ef1 (patch)
tree1dc70676cda3618ed28f3909b95915fd0b9c3235 /widgets/misc/e-canvas.c
parent38d9cc1278541b84202c4b3e1555b6d2e36beaca (diff)
downloadgsoc2013-evolution-848cacc4905bc5a0423db986119fc708a4ec4ef1.tar.gz
gsoc2013-evolution-848cacc4905bc5a0423db986119fc708a4ec4ef1.tar.zst
gsoc2013-evolution-848cacc4905bc5a0423db986119fc708a4ec4ef1.zip
set and reset the GTK_HAS_FOCUS flag. We now get focus_out events
2000-05-02 Damon Chaplin <damon@helixcode.com> * e-canvas.c (e_canvas_focus_in): (e_canvas_focus_out): set and reset the GTK_HAS_FOCUS flag. We now get focus_out events correctly. svn path=/trunk/; revision=2758
Diffstat (limited to 'widgets/misc/e-canvas.c')
-rw-r--r--widgets/misc/e-canvas.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c
index ad0819e3dd..8ca7d0f9b1 100644
--- a/widgets/misc/e-canvas.c
+++ b/widgets/misc/e-canvas.c
@@ -313,6 +313,8 @@ e_canvas_focus_in (GtkWidget *widget, GdkEventFocus *event)
canvas = GNOME_CANVAS (widget);
+ GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
+
if (canvas->focused_item)
return emit_event (canvas, (GdkEvent *) event);
else
@@ -327,6 +329,8 @@ e_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event)
canvas = GNOME_CANVAS (widget);
+ GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
+
if (canvas->focused_item)
return emit_event (canvas, (GdkEvent *) event);
else