diff --git a/oia.c b/oia.c index b6abc9a..80b0e76 100644 --- a/oia.c +++ b/oia.c @@ -816,7 +816,8 @@ struct timer_info static void release_timer(struct timer_info *info) { -// trace("Timer %p stops",info); + trace("Timer %p stops",info); + info->terminal->timer = NULL; if(info->terminal->surface) @@ -957,6 +958,7 @@ static gboolean update_timer(struct timer_info *info) time_t now = time(0); GdkRectangle * rect; +// debug("%s %p",__FUNCTION__,info->terminal->surface); if(!info->terminal->surface) return TRUE; @@ -986,8 +988,11 @@ static gboolean update_timer(struct timer_info *info) buffer[5] = 0; cairo_set_scaled_font(cr,info->terminal->font.scaled); - cairo_move_to(cr,rect->x,rect->y+info->terminal->font.height); - cairo_show_text(cr, buffer); +// cairo_move_to(cr,rect->x,rect->y+info->terminal->font.height); +// cairo_show_text(cr, buffer); + + v3270_draw_text(cr, rect, &info->terminal->font, buffer); + cairo_stroke(cr); info->last = now; @@ -1025,6 +1030,8 @@ void v3270_start_timer(GtkWidget *widget) struct timer_info *info; v3270 *terminal = GTK_V3270(widget); + trace("Timer %p starts",terminal); + if(terminal->timer) { g_source_ref(terminal->timer); @@ -1041,23 +1048,24 @@ void v3270_start_timer(GtkWidget *widget) g_source_attach(terminal->timer, NULL); g_source_unref(terminal->timer); - trace("Timer %p starts",info); + } void v3270_stop_timer(GtkWidget *widget) { v3270 *terminal = GTK_V3270(widget); - if(!terminal->timer) - return; + trace("%s(%p)",__FUNCTION__,terminal->timer); + +// if(!terminal->timer) +// return; // trace("Timer=%p",terminal->timer); - if(terminal->timer->ref_count < 2) - g_source_destroy(terminal->timer); +// if(terminal->timer->ref_count < 2) +// g_source_destroy(terminal->timer); if(terminal->timer) g_source_unref(terminal->timer); - } void v3270_update_ssl(H3270 *session, LIB3270_SSL_STATE state) -- libgit2 0.21.2