Commit ba34b1aa2a97bd4c2610647e12f7b82fcb774004

Authored by perry.werneck@gmail.com
1 parent bd6ae6e6

Tentando identificar segfault em win64

Showing 2 changed files with 19 additions and 2 deletions   Show diff stats
src/lib3270/screen.c
... ... @@ -105,7 +105,6 @@ static void addch(H3270 *session, int baddr, unsigned char c, unsigned short att
105 105 session->text[baddr].attr = attr;
106 106  
107 107 session->update(session,baddr,c,attr,baddr == session->cursor_addr);
108   -
109 108 }
110 109  
111 110 LIB3270_EXPORT int lib3270_get_element(H3270 *h, int baddr, unsigned char *c, unsigned short *attr)
... ... @@ -303,7 +302,9 @@ void screen_update(H3270 *session, int bstart, int bend)
303 302 a = color_from_fa(fa);
304 303 fa_addr = find_field_attribute(session,bstart); // may be -1, that's okay
305 304  
  305 +#ifdef WIN32
306 306 trace("%s start=%d end=%d",__FUNCTION__,bstart,bend);
  307 +#endif // WIN32
307 308  
308 309 for(baddr = bstart; baddr < bend; baddr++)
309 310 {
... ... @@ -350,6 +351,10 @@ void screen_update(H3270 *session, int bstart, int bend)
350 351 }
351 352 }
352 353  
  354 +#ifdef WIN32
  355 + trace("%s first=%d last=%d",__FUNCTION__,first,last);
  356 +#endif // WIN32
  357 +
353 358 if(first >= 0)
354 359 {
355 360 int len = (last - first)+1;
... ... @@ -361,6 +366,9 @@ void screen_update(H3270 *session, int bstart, int bend)
361 366 len++;
362 367 }
363 368  
  369 +#ifdef WIN32
  370 + trace("%s first=%d last=%d len=%d changed=%p",__FUNCTION__,first,last,len,session->changed);
  371 +#endif // WIN32
364 372 session->changed(session,first,len);
365 373 }
366 374  
... ...
src/pw3270/v3270/widget.c
... ... @@ -698,7 +698,9 @@ static void changed(H3270 *session, int offset, int len)
698 698 GtkWidget * widget = session->widget;
699 699 GtkAccessible * obj = GTK_V3270(widget)->accessible;
700 700  
701   -// trace("%s: offset=%d len=%d",__FUNCTION__,offset,len)
  701 +#ifdef WIN32
  702 + trace("%s: offset=%d len=%d accessible=%p",__FUNCTION__,offset,len,obj);
  703 +#endif
702 704  
703 705 if(obj)
704 706 {
... ... @@ -739,8 +741,15 @@ static void changed(H3270 *session, int offset, int len)
739 741 gtk_widget_queue_draw(widget);
740 742 #endif // WIN32
741 743  
  744 +#ifdef WIN32
  745 + trace("%s: emit signal",__FUNCTION__);
  746 +#endif
  747 +
742 748 g_signal_emit(GTK_WIDGET(widget),v3270_widget_signal[SIGNAL_CHANGED], 0, (guint) offset, (guint) len);
743 749  
  750 +#ifdef WIN32
  751 + trace("%s: ends",__FUNCTION__);
  752 +#endif
744 753 }
745 754  
746 755 static void set_selection(H3270 *session, unsigned char status)
... ...