Commit 904756e863767132b31f087e1b97a9207e7aebd0
1 parent
af6fbcf8
Exists in
master
and in
5 other branches
Muitas atualizacoes enfileiradas derrubam o windows 7 com falha dentro da ntdll.dll
Showing
12 changed files
with
40 additions
and
49 deletions
Show diff stats
src/lib3270/XtGlue.c
| ... | ... | @@ -502,9 +502,7 @@ static int DefaultProcessEvents(int block) |
| 502 | 502 | FD_ISSET(ip->source, &rfds)) |
| 503 | 503 | { |
| 504 | 504 | #endif |
| 505 | - Trace("%s",__FUNCTION__); | |
| 506 | 505 | (*ip->proc)(ip->session); |
| 507 | - Trace("%s",__FUNCTION__); | |
| 508 | 506 | processed_any = True; |
| 509 | 507 | if (inputs_changed) |
| 510 | 508 | goto retry; |
| ... | ... | @@ -513,9 +511,7 @@ static int DefaultProcessEvents(int block) |
| 513 | 511 | #if !defined(_WIN32) |
| 514 | 512 | if (((unsigned long)ip->condition & InputWriteMask) && FD_ISSET(ip->source, &wfds)) |
| 515 | 513 | { |
| 516 | - Trace("%s",__FUNCTION__); | |
| 517 | 514 | (*ip->proc)(ip->session); |
| 518 | - Trace("%s",__FUNCTION__); | |
| 519 | 515 | processed_any = True; |
| 520 | 516 | if (inputs_changed) |
| 521 | 517 | goto retry; |
| ... | ... | @@ -547,9 +543,7 @@ static int DefaultProcessEvents(int block) |
| 547 | 543 | #endif |
| 548 | 544 | timeouts = t->next; |
| 549 | 545 | t->in_play = True; |
| 550 | - Trace("%s",__FUNCTION__); | |
| 551 | 546 | (*t->proc)(t->session); |
| 552 | - Trace("%s",__FUNCTION__); | |
| 553 | 547 | processed_any = True; |
| 554 | 548 | Free(t); |
| 555 | 549 | } else | ... | ... |
src/lib3270/ctlr.c
| ... | ... | @@ -458,7 +458,6 @@ void ctlr_erase(H3270 *session, int alt) |
| 458 | 458 | CHECK_SESSION_HANDLE(session); |
| 459 | 459 | |
| 460 | 460 | kybd_inhibit(False); |
| 461 | - | |
| 462 | 461 | ctlr_clear(session,True); |
| 463 | 462 | screen_erase(session); |
| 464 | 463 | |
| ... | ... | @@ -486,6 +485,7 @@ void ctlr_erase(H3270 *session, int alt) |
| 486 | 485 | } |
| 487 | 486 | |
| 488 | 487 | session->screen_alt = alt; |
| 488 | + | |
| 489 | 489 | } |
| 490 | 490 | |
| 491 | 491 | |
| ... | ... | @@ -2329,6 +2329,8 @@ ctlr_clear(H3270 *session, Boolean can_snap) |
| 2329 | 2329 | #endif /*]*/ |
| 2330 | 2330 | |
| 2331 | 2331 | /* Clear the screen. */ |
| 2332 | + trace("%p",session->ea_buf); | |
| 2333 | + | |
| 2332 | 2334 | (void) memset((char *)session->ea_buf, 0, session->rows*session->cols*sizeof(struct ea)); |
| 2333 | 2335 | cursor_move(&h3270,0); |
| 2334 | 2336 | session->buffer_addr = 0; |
| ... | ... | @@ -2341,8 +2343,7 @@ ctlr_clear(H3270 *session, Boolean can_snap) |
| 2341 | 2343 | sscp_start = 0; |
| 2342 | 2344 | |
| 2343 | 2345 | // ALL_CHANGED; |
| 2344 | - screen_erase(session); | |
| 2345 | - | |
| 2346 | + session->erase(session); | |
| 2346 | 2347 | } |
| 2347 | 2348 | |
| 2348 | 2349 | /* | ... | ... |
src/lib3270/ft.c
| ... | ... | @@ -377,8 +377,6 @@ void ft_complete(H3270FT *session, const char *errmsg) |
| 377 | 377 | ((double)(t1.tv_sec - starting_time.tv_sec) + |
| 378 | 378 | (double)(t1.tv_usec - starting_time.tv_usec) / 1.0e6); |
| 379 | 379 | |
| 380 | - trace("%s",__FUNCTION__); | |
| 381 | - | |
| 382 | 380 | // Close the local file. |
| 383 | 381 | if(session->ft_local_file) |
| 384 | 382 | { |
| ... | ... | @@ -420,8 +418,6 @@ void ft_update_length(H3270FT *session) |
| 420 | 418 | (double)(t1.tv_usec - starting_time.tv_usec) / 1.0e6); |
| 421 | 419 | } |
| 422 | 420 | |
| 423 | - Trace("%s",__FUNCTION__); | |
| 424 | - | |
| 425 | 421 | session->update(session,ft_length,kbytes_sec); |
| 426 | 422 | |
| 427 | 423 | } |
| ... | ... | @@ -429,8 +425,6 @@ void ft_update_length(H3270FT *session) |
| 429 | 425 | // Process a transfer acknowledgement. |
| 430 | 426 | void ft_running(H3270FT *h, Boolean is_cut) |
| 431 | 427 | { |
| 432 | - trace("%s",__FUNCTION__); | |
| 433 | - | |
| 434 | 428 | CHECK_FT_HANDLE(h); |
| 435 | 429 | |
| 436 | 430 | ft_is_cut = is_cut; |
| ... | ... | @@ -450,8 +444,6 @@ void ft_running(H3270FT *h, Boolean is_cut) |
| 450 | 444 | // Process a protocol-generated abort. |
| 451 | 445 | void ft_aborting(H3270FT *h) |
| 452 | 446 | { |
| 453 | -// Trace("%s",__FUNCTION__); | |
| 454 | - | |
| 455 | 447 | CHECK_FT_HANDLE(h); |
| 456 | 448 | |
| 457 | 449 | if (h->state == FT_RUNNING || h->state == FT_ABORT_WAIT) | ... | ... |
src/lib3270/glue.c
| ... | ... | @@ -244,9 +244,11 @@ static void initialize(void) |
| 244 | 244 | #endif |
| 245 | 245 | */ |
| 246 | 246 | |
| 247 | -#if defined(C3270) && defined(_WIN32) /*[*/ | |
| 247 | +/* | |
| 248 | +#if defined(C3270) && defined(_WIN32) | |
| 248 | 249 | appres.highlight_underline = True; |
| 249 | -#endif /*]*/ | |
| 250 | +#endif | |
| 251 | +*/ | |
| 250 | 252 | |
| 251 | 253 | /* |
| 252 | 254 | #if defined(C3270) && !defined(_WIN32) && !defined(LIB3270) |
| ... | ... | @@ -407,9 +409,9 @@ static struct { |
| 407 | 409 | #if defined(X3270_SCRIPT) /*[*/ |
| 408 | 410 | { ResPluginCommand, offset(plugin_command), XRM_STRING }, |
| 409 | 411 | #endif /*]*/ |
| 410 | -#if defined(C3270) && defined(_WIN32) /*[*/ | |
| 411 | - { ResHighlightUnderline, offset(highlight_underline), XRM_BOOLEAN }, | |
| 412 | -#endif /*]*/ | |
| 412 | +//#if defined(C3270) && defined(_WIN32) | |
| 413 | +// { ResHighlightUnderline, offset(highlight_underline), XRM_BOOLEAN }, | |
| 414 | +//#endif | |
| 413 | 415 | #if defined(C3270) && defined(X3270_SCRIPT) /*[*/ |
| 414 | 416 | { ResIdleCommand,offset(idle_command), XRM_STRING }, |
| 415 | 417 | { ResIdleCommandEnabled,offset(idle_command_enabled), XRM_BOOLEAN }, | ... | ... |
src/lib3270/host.c
| ... | ... | @@ -738,23 +738,28 @@ void host_disconnected(H3270 *session) |
| 738 | 738 | } |
| 739 | 739 | |
| 740 | 740 | /* Register a function interested in a state change. */ |
| 741 | -LIB3270_EXPORT void lib3270_register_schange(H3270 *h,LIB3270_STATE_CHANGE tx, void (*func)(H3270 *, int, void *),void *data) | |
| 741 | +LIB3270_EXPORT void lib3270_register_schange(H3270 *h, LIB3270_STATE_CHANGE tx, void (*func)(H3270 *, int, void *),void *data) | |
| 742 | 742 | { |
| 743 | 743 | struct lib3270_state_callback *st; |
| 744 | 744 | |
| 745 | 745 | CHECK_SESSION_HANDLE(h); |
| 746 | 746 | |
| 747 | - st = (struct lib3270_state_callback *)Malloc(sizeof(*st)); | |
| 748 | - | |
| 747 | + st = (struct lib3270_state_callback *) lib3270_malloc(sizeof(struct lib3270_state_callback)); | |
| 749 | 748 | st->func = func; |
| 750 | - st->next = (struct lib3270_state_callback *)NULL; | |
| 751 | 749 | |
| 752 | - if (h->st_last[tx] != (struct lib3270_state_callback *)NULL) | |
| 750 | + if (h->st_last[tx]) | |
| 753 | 751 | h->st_last[tx]->next = st; |
| 754 | 752 | else |
| 755 | 753 | h->st_callbacks[tx] = st; |
| 754 | + | |
| 756 | 755 | h->st_last[tx] = st; |
| 757 | 756 | |
| 757 | + #warning AQUI | |
| 758 | + if(tx == LIB3270_STATE_CONNECT) | |
| 759 | + { | |
| 760 | + trace("%s st=%p func=%p",__FUNCTION__,st,func); | |
| 761 | + } | |
| 762 | + | |
| 758 | 763 | } |
| 759 | 764 | |
| 760 | 765 | /* Signal a state change. */ |
| ... | ... | @@ -782,18 +787,22 @@ void lib3270_st_changed(H3270 *h, LIB3270_STATE tx, int mode) |
| 782 | 787 | |
| 783 | 788 | CHECK_SESSION_HANDLE(h); |
| 784 | 789 | |
| 785 | - trace("%s is %d",state_name[tx],mode); | |
| 790 | + trace("%s is %d on session %p",state_name[tx],mode,h); | |
| 786 | 791 | |
| 787 | - for (st = h->st_callbacks[tx];st != (struct lib3270_state_callback *)NULL;st = st->next) | |
| 792 | + for (st = h->st_callbacks[tx];st;st = st->next) | |
| 788 | 793 | { |
| 794 | + trace("st=%p func=%p",st,st->func); | |
| 789 | 795 | st->func(h,mode,st->data); |
| 790 | 796 | } |
| 797 | + | |
| 798 | + trace("%s ends",__FUNCTION__); | |
| 791 | 799 | } |
| 792 | 800 | |
| 793 | 801 | LIB3270_EXPORT const char * lib3270_set_host(H3270 *h, const char *n) |
| 794 | 802 | { |
| 795 | 803 | CHECK_SESSION_HANDLE(h); |
| 796 | 804 | |
| 805 | + #warning AQUI | |
| 797 | 806 | Trace("%s: %p",__FUNCTION__,n); |
| 798 | 807 | |
| 799 | 808 | if(n && n != h->full_current_host) | ... | ... |
src/lib3270/kybd.c
| ... | ... | @@ -411,6 +411,7 @@ static void kybd_connect(H3270 *session, int connected, void *dunno) |
| 411 | 411 | { |
| 412 | 412 | if (kybdlock & KL_DEFERRED_UNLOCK) |
| 413 | 413 | RemoveTimeOut(unlock_id); |
| 414 | + | |
| 414 | 415 | kybdlock_clr(-1, "kybd_connect"); |
| 415 | 416 | |
| 416 | 417 | if (connected) { |
| ... | ... | @@ -580,12 +581,9 @@ LIB3270_FKEY_ACTION( pakey ) |
| 580 | 581 | |
| 581 | 582 | LIB3270_ACTION(break) |
| 582 | 583 | { |
| 583 | - | |
| 584 | 584 | if (!IN_3270) |
| 585 | 585 | return 0; |
| 586 | 586 | |
| 587 | - Trace("%s",__FUNCTION__); | |
| 588 | - | |
| 589 | 587 | net_break(); |
| 590 | 588 | |
| 591 | 589 | return 0; |
| ... | ... | @@ -599,8 +597,6 @@ LIB3270_ACTION(attn) |
| 599 | 597 | if (!IN_3270) |
| 600 | 598 | return 0; |
| 601 | 599 | |
| 602 | - Trace("%s",__FUNCTION__); | |
| 603 | - | |
| 604 | 600 | net_interrupt(); |
| 605 | 601 | |
| 606 | 602 | return 0; |
| ... | ... | @@ -1466,8 +1462,6 @@ do_reset(Boolean explicit) |
| 1466 | 1462 | * a half-composed key, simply flush it. |
| 1467 | 1463 | */ |
| 1468 | 1464 | |
| 1469 | - Trace("%s",__FUNCTION__); | |
| 1470 | - | |
| 1471 | 1465 | if (explicit |
| 1472 | 1466 | #if defined(X3270_FT) /*[*/ |
| 1473 | 1467 | || lib3270_get_ft_state(&h3270) != LIB3270_FT_STATE_NONE |
| ... | ... | @@ -2316,7 +2310,6 @@ LIB3270_KEY_ACTION( enter ) |
| 2316 | 2310 | |
| 2317 | 2311 | LIB3270_ACTION( sysreq ) |
| 2318 | 2312 | { |
| 2319 | - Trace("%s",__FUNCTION__); | |
| 2320 | 2313 | // reset_idle_timer(); |
| 2321 | 2314 | if (IN_ANSI) |
| 2322 | 2315 | return 0; | ... | ... |
src/lib3270/screen.c
| ... | ... | @@ -104,7 +104,9 @@ static void addch(H3270 *session, int baddr, unsigned char c, unsigned short att |
| 104 | 104 | /* Converted char has changed, update it */ |
| 105 | 105 | session->text[baddr].chr = c; |
| 106 | 106 | session->text[baddr].attr = attr; |
| 107 | + | |
| 107 | 108 | session->update(session,baddr,c,attr,baddr == session->cursor_addr); |
| 109 | + | |
| 108 | 110 | } |
| 109 | 111 | |
| 110 | 112 | LIB3270_EXPORT int lib3270_get_element(H3270 *h, int baddr, unsigned char *c, unsigned short *attr) |
| ... | ... | @@ -338,14 +340,12 @@ static void screen_update(H3270 *session, int bstart, int bend) |
| 338 | 340 | } |
| 339 | 341 | else |
| 340 | 342 | { |
| 341 | - if (lib3270_get_toggle(session,MONOCASE)) | |
| 343 | + if(lib3270_get_toggle(session,MONOCASE)) | |
| 342 | 344 | addch(session,baddr,asc2uc[ebc2asc[session->ea_buf[baddr].cc]],attr,&first,&last); |
| 343 | 345 | else |
| 344 | 346 | addch(session,baddr,ebc2asc[session->ea_buf[baddr].cc],attr,&first,&last); |
| 345 | 347 | } |
| 346 | 348 | } |
| 347 | - | |
| 348 | - | |
| 349 | 349 | } |
| 350 | 350 | |
| 351 | 351 | if(first >= 0) |
| ... | ... | @@ -365,6 +365,7 @@ static void screen_update(H3270 *session, int bstart, int bend) |
| 365 | 365 | |
| 366 | 366 | void screen_disp(H3270 *session) |
| 367 | 367 | { |
| 368 | + CHECK_SESSION_HANDLE(session); | |
| 368 | 369 | screen_update(session,0,session->rows*session->cols); |
| 369 | 370 | } |
| 370 | 371 | ... | ... |
src/lib3270/selection.c
| ... | ... | @@ -598,8 +598,6 @@ LIB3270_EXPORT int lib3270_drag_selection(H3270 *h, unsigned char flag, int orig |
| 598 | 598 | else if((flag&0x8F) == SELECTION_ACTIVE) |
| 599 | 599 | return lib3270_move_selected_area(h,origin,baddr); |
| 600 | 600 | |
| 601 | -// trace("%s",__FUNCTION__); | |
| 602 | - | |
| 603 | 601 | row = baddr/h->cols; |
| 604 | 602 | col = baddr%h->cols; |
| 605 | 603 | ... | ... |
src/lib3270/toggles.c
| ... | ... | @@ -84,7 +84,8 @@ LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *session, LIB3270_TOGGLE i |
| 84 | 84 | |
| 85 | 85 | if(ix < 0 || ix >= N_TOGGLES) |
| 86 | 86 | return 0; |
| 87 | - return (unsigned char) session->toggle[ix].value != 0; | |
| 87 | + | |
| 88 | + return session->toggle[ix].value != 0; | |
| 88 | 89 | } |
| 89 | 90 | |
| 90 | 91 | /* | ... | ... |
src/pw3270/v3270/draw.c
| ... | ... | @@ -355,11 +355,12 @@ void v3270_update_char(H3270 *session, int addr, unsigned char chr, unsigned sho |
| 355 | 355 | cairo_set_scaled_font(cr,terminal->font_scaled); |
| 356 | 356 | v3270_draw_element(cr, chr, attr, terminal->host, terminal->metrics.height, &rect,terminal->color); |
| 357 | 357 | cairo_destroy(cr); |
| 358 | - | |
| 359 | 358 | if(cursor) |
| 360 | 359 | v3270_update_cursor_rect(terminal,&rect,chr,attr); |
| 361 | 360 | |
| 361 | +#ifndef _WIN32 | |
| 362 | 362 | gtk_widget_queue_draw_area(GTK_WIDGET(terminal),rect.x,rect.y,rect.width,rect.height); |
| 363 | +#endif // WIN32 | |
| 363 | 364 | |
| 364 | 365 | } |
| 365 | 366 | ... | ... |
src/pw3270/v3270/oia.c
src/pw3270/v3270/widget.c
| ... | ... | @@ -157,8 +157,6 @@ static GtkSizeRequestMode get_request_mode(GtkWidget *widget) |
| 157 | 157 | { |
| 158 | 158 | int rows, cols; |
| 159 | 159 | |
| 160 | - trace("%s",__FUNCTION__); | |
| 161 | - | |
| 162 | 160 | lib3270_get_screen_size(GTK_V3270(widget)->host,&rows,&cols); |
| 163 | 161 | |
| 164 | 162 | return rows > cols ? GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT : GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; |
| ... | ... | @@ -706,6 +704,10 @@ static void changed(H3270 *session, int offset, int len) |
| 706 | 704 | } |
| 707 | 705 | } |
| 708 | 706 | |
| 707 | +#ifdef WIN32 | |
| 708 | + gtk_widget_queue_draw(widget); | |
| 709 | +#endif // WIN32 | |
| 710 | + | |
| 709 | 711 | g_signal_emit(GTK_WIDGET(widget),v3270_widget_signal[SIGNAL_CHANGED], 0, (guint) offset, (guint) len); |
| 710 | 712 | |
| 711 | 713 | } |
| ... | ... | @@ -739,7 +741,6 @@ static void message(H3270 *session, LIB3270_NOTIFY id , const char *title, const |
| 739 | 741 | |
| 740 | 742 | static void v3270_init(v3270 *widget) |
| 741 | 743 | { |
| 742 | - trace("%s",__FUNCTION__); | |
| 743 | 744 | widget->host = lib3270_session_new(""); |
| 744 | 745 | |
| 745 | 746 | if(widget->host->sz != sizeof(H3270)) | ... | ... |