Index: trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c =================================================================== --- trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 17343) +++ trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 17344) @@ -1598,7 +1598,11 @@ static GtkWidget *ghid_gdk_new_drawing_widget(pcb_gtk_common_t *common) { - return gtk_drawing_area_new(); + GtkWidget *w = gtk_drawing_area_new(); + + g_signal_connect(G_OBJECT(w), "expose_event", G_CALLBACK(common->drawing_area_expose), common->gport); + + return w; } Index: trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c =================================================================== --- trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 17343) +++ trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 17344) @@ -1125,7 +1125,11 @@ static GtkWidget *ghid_gl_new_drawing_widget(pcb_gtk_common_t *common) { - return gtk_drawing_area_new(); + GtkWidget *w = gtk_drawing_area_new(); + + g_signal_connect(G_OBJECT(w), "expose_event", G_CALLBACK(common->drawing_area_expose), common->gport); + + return w; } Index: trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c =================================================================== --- trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 17343) +++ trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 17344) @@ -1613,7 +1613,11 @@ static GtkWidget *ghid_cairo_new_drawing_widget(pcb_gtk_common_t *common) { - return gtk_drawing_area_new(); + GtkWidget *w = gtk_drawing_area_new(); + + g_signal_connect(G_OBJECT(w), "draw", G_CALLBACK(common->drawing_area_expose), common->gport); + + return w; } Index: trunk/src_plugins/lib_gtk_common/compat.h =================================================================== --- trunk/src_plugins/lib_gtk_common/compat.h (revision 17343) +++ trunk/src_plugins/lib_gtk_common/compat.h (revision 17344) @@ -102,7 +102,6 @@ #define PCB_GTK_EXPOSE_EVENT_SET(obj, val) obj->draw = (gboolean (*)(GtkWidget *, cairo_t *))val typedef cairo_t pcb_gtk_expose_t; -#define PCB_GTK_DRAW_SIGNAL_NAME "draw" static inline void gtkc_scrolled_window_add_with_viewport(GtkWidget *scrolled, GtkWidget *child) { @@ -244,7 +243,6 @@ #define PCB_GTK_EXPOSE_EVENT_SET(obj, val) obj->expose_event = (gboolean (*)(GtkWidget *, GdkEventExpose *))val typedef GdkEventExpose pcb_gtk_expose_t; -#define PCB_GTK_DRAW_SIGNAL_NAME "expose_event" static inline void gtkc_scrolled_window_add_with_viewport(GtkWidget *scrolled, GtkWidget *child) { Index: trunk/src_plugins/lib_gtk_common/dlg_topwin.c =================================================================== --- trunk/src_plugins/lib_gtk_common/dlg_topwin.c (revision 17343) +++ trunk/src_plugins/lib_gtk_common/dlg_topwin.c (revision 17344) @@ -541,7 +541,6 @@ g_signal_connect(G_OBJECT(tw->drawing_area), "size-allocate", G_CALLBACK(drawing_area_size_allocate_cb), tw); g_signal_connect(G_OBJECT(tw->drawing_area), "enter-notify-event", G_CALLBACK(drawing_area_enter_cb), tw); - g_signal_connect(G_OBJECT(tw->drawing_area), PCB_GTK_DRAW_SIGNAL_NAME, G_CALLBACK(tw->com->drawing_area_expose), tw->com->gport); g_signal_connect(G_OBJECT(tw->com->top_window), "configure_event", G_CALLBACK(top_window_configure_event_cb), tw->com->gport); g_signal_connect(tw->com->top_window, "enter-notify-event", G_CALLBACK(top_window_enter_cb), tw);