Commit 90564f33778d7c6c30e54d4cfed8c59ee63797bb

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

Fixing bug on trace widget.

Showing 1 changed file with 10 additions and 6 deletions   Show diff stats
src/trace/widget.c
... ... @@ -331,14 +331,16 @@
331 331 gchar text[1];
332 332 };
333 333  
334   - static void bg_append_text(struct _append_text *cfg)
  334 + static gboolean bg_append_text(struct _append_text *cfg)
335 335 {
336 336 if(!GTK_IS_TEXT_BUFFER(cfg->widget->text))
337   - return;
  337 + return FALSE;
338 338  
339 339 GtkTextIter itr;
340 340 gtk_text_buffer_get_end_iter(cfg->widget->text,&itr);
341 341  
  342 + printf("%s\n",cfg->text);
  343 +
342 344 if(g_utf8_validate(cfg->text,strlen(cfg->text),NULL))
343 345 {
344 346 gtk_text_buffer_insert(cfg->widget->text,&itr,cfg->text,strlen(cfg->text));
... ... @@ -354,19 +356,21 @@
354 356 //GtkAdjustment *vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(hwnd->scroll));
355 357 //gtk_adjustment_set_value(vadj,gtk_adjustment_get_upper(vadj));
356 358 //gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(hwnd->scroll), vadj);
  359 +
  360 + return FALSE;
  361 +
357 362 }
358 363  
359 364 LIB3270_EXPORT void v3270_trace_append_text(GtkWidget *widget, const gchar *text)
360 365 {
361   - debug("widget=%p text=\"%s\"",widget,text);
362   -
363   - g_return_if_fail(GTK_IS_V3270_TRACE(widget));
  366 + g_return_if_fail(GTK_IS_V3270_TRACE(widget));
364 367  
365 368 // Enqueue update.
366 369 struct _append_text * cfg = g_malloc0(sizeof(struct _append_text)+strlen(text)+1);
367 370 cfg->widget = GTK_V3270_TRACE(widget);
368 371 strcpy(cfg->text,text);
369   - gdk_threads_add_idle_full(G_PRIORITY_LOW,(GSourceFunc) bg_append_text,cfg,g_free);
  372 +
  373 + g_idle_add_full(G_PRIORITY_DEFAULT_IDLE,(GSourceFunc) bg_append_text, cfg, g_free);
370 374  
371 375 }
372 376  
... ...