Commit e0363d1e12903eb60e3a8866f4ba78331c7ae3f0

Authored by Perry Werneck
1 parent 3950ef03
Exists in master and in 1 other branch develop

Pequenas correções no funcionamento do timer.

Showing 1 changed file with 17 additions and 9 deletions   Show diff stats
@@ -816,7 +816,8 @@ struct timer_info @@ -816,7 +816,8 @@ struct timer_info
816 816
817 static void release_timer(struct timer_info *info) 817 static void release_timer(struct timer_info *info)
818 { 818 {
819 -// trace("Timer %p stops",info); 819 + trace("Timer %p stops",info);
  820 +
820 info->terminal->timer = NULL; 821 info->terminal->timer = NULL;
821 822
822 if(info->terminal->surface) 823 if(info->terminal->surface)
@@ -957,6 +958,7 @@ static gboolean update_timer(struct timer_info *info) @@ -957,6 +958,7 @@ static gboolean update_timer(struct timer_info *info)
957 time_t now = time(0); 958 time_t now = time(0);
958 GdkRectangle * rect; 959 GdkRectangle * rect;
959 960
  961 +// debug("%s %p",__FUNCTION__,info->terminal->surface);
960 if(!info->terminal->surface) 962 if(!info->terminal->surface)
961 return TRUE; 963 return TRUE;
962 964
@@ -986,8 +988,11 @@ static gboolean update_timer(struct timer_info *info) @@ -986,8 +988,11 @@ static gboolean update_timer(struct timer_info *info)
986 buffer[5] = 0; 988 buffer[5] = 0;
987 989
988 cairo_set_scaled_font(cr,info->terminal->font.scaled); 990 cairo_set_scaled_font(cr,info->terminal->font.scaled);
989 - cairo_move_to(cr,rect->x,rect->y+info->terminal->font.height);  
990 - cairo_show_text(cr, buffer); 991 +// cairo_move_to(cr,rect->x,rect->y+info->terminal->font.height);
  992 +// cairo_show_text(cr, buffer);
  993 +
  994 + v3270_draw_text(cr, rect, &info->terminal->font, buffer);
  995 +
991 cairo_stroke(cr); 996 cairo_stroke(cr);
992 997
993 info->last = now; 998 info->last = now;
@@ -1025,6 +1030,8 @@ void v3270_start_timer(GtkWidget *widget) @@ -1025,6 +1030,8 @@ void v3270_start_timer(GtkWidget *widget)
1025 struct timer_info *info; 1030 struct timer_info *info;
1026 v3270 *terminal = GTK_V3270(widget); 1031 v3270 *terminal = GTK_V3270(widget);
1027 1032
  1033 + trace("Timer %p starts",terminal);
  1034 +
1028 if(terminal->timer) 1035 if(terminal->timer)
1029 { 1036 {
1030 g_source_ref(terminal->timer); 1037 g_source_ref(terminal->timer);
@@ -1041,23 +1048,24 @@ void v3270_start_timer(GtkWidget *widget) @@ -1041,23 +1048,24 @@ void v3270_start_timer(GtkWidget *widget)
1041 g_source_attach(terminal->timer, NULL); 1048 g_source_attach(terminal->timer, NULL);
1042 g_source_unref(terminal->timer); 1049 g_source_unref(terminal->timer);
1043 1050
1044 - trace("Timer %p starts",info); 1051 +
1045 } 1052 }
1046 1053
1047 void v3270_stop_timer(GtkWidget *widget) 1054 void v3270_stop_timer(GtkWidget *widget)
1048 { 1055 {
1049 v3270 *terminal = GTK_V3270(widget); 1056 v3270 *terminal = GTK_V3270(widget);
1050 1057
1051 - if(!terminal->timer)  
1052 - return; 1058 + trace("%s(%p)",__FUNCTION__,terminal->timer);
  1059 +
  1060 +// if(!terminal->timer)
  1061 +// return;
1053 1062
1054 // trace("Timer=%p",terminal->timer); 1063 // trace("Timer=%p",terminal->timer);
1055 - if(terminal->timer->ref_count < 2)  
1056 - g_source_destroy(terminal->timer); 1064 +// if(terminal->timer->ref_count < 2)
  1065 +// g_source_destroy(terminal->timer);
1057 1066
1058 if(terminal->timer) 1067 if(terminal->timer)
1059 g_source_unref(terminal->timer); 1068 g_source_unref(terminal->timer);
1060 -  
1061 } 1069 }
1062 1070
1063 void v3270_update_ssl(H3270 *session, LIB3270_SSL_STATE state) 1071 void v3270_update_ssl(H3270 *session, LIB3270_SSL_STATE state)