aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc/e-canvas.c
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@gnu.org>2000-04-16 08:39:00 +0800
committerMiguel de Icaza <miguel@src.gnome.org>2000-04-16 08:39:00 +0800
commit9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b (patch)
treec1aa697d43cc2e91626bec73c484506dd159884a /widgets/misc/e-canvas.c
parenta0cca95826028dc5d170dc54c71de5966eb9206a (diff)
downloadgsoc2013-evolution-9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b.tar.gz
gsoc2013-evolution-9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b.tar.zst
gsoc2013-evolution-9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b.zip
Add realize. (e_canvas_realize): Set the back pixmap to NULL to reduce
2000-04-16 Anders Carlsson <andersca@gnu.org> * e-canvas.c (e_canvas_class_init): Add realize. (e_canvas_realize): Set the back pixmap to NULL to reduce flicker. svn path=/trunk/; revision=2456
Diffstat (limited to 'widgets/misc/e-canvas.c')
-rw-r--r--widgets/misc/e-canvas.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c
index 704b6ca12b..ad0819e3dd 100644
--- a/widgets/misc/e-canvas.c
+++ b/widgets/misc/e-canvas.c
@@ -23,14 +23,15 @@
#include <gnome.h>
#include "e-canvas.h"
static void e_canvas_init (ECanvas *card);
-static void e_canvas_class_init (ECanvasClass *klass);
+static void e_canvas_class_init (ECanvasClass *klass);
+static void e_canvas_realize (GtkWidget *widget);
static gint e_canvas_key (GtkWidget *widget,
GdkEventKey *event);
static gint e_canvas_focus_in (GtkWidget *widget,
- GdkEventFocus *event);
+ GdkEventFocus *event);
static gint e_canvas_focus_out (GtkWidget *widget,
- GdkEventFocus *event);
+ GdkEventFocus *event);
static int emit_event (GnomeCanvas *canvas, GdkEvent *event);
@@ -85,7 +86,8 @@ e_canvas_class_init (ECanvasClass *klass)
widget_class->key_release_event = e_canvas_key;
widget_class->focus_in_event = e_canvas_focus_in;
widget_class->focus_out_event = e_canvas_focus_out;
-
+ widget_class->realize = e_canvas_realize;
+
klass->reflow = NULL;
e_canvas_signals [REFLOW] =
@@ -331,6 +333,14 @@ e_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event)
return FALSE;
}
+static void
+e_canvas_realize (GtkWidget *widget)
+{
+ if (GTK_WIDGET_CLASS (parent_class)->realize)
+ (* GTK_WIDGET_CLASS (parent_class)->realize) (widget);
+
+ gdk_window_set_back_pixmap (GTK_LAYOUT (widget)->bin_window, NULL, FALSE);
+}
static void
e_canvas_item_invoke_reflow (GnomeCanvasItem *item, int flags)