| | 381 | | static int check_pasting(unichar key, int diff) |
| | 382 | | { |
| | 383 | | if (paste_state < 0) |
| | 384 | | return FALSE;
|
| | 385 | | |
| | 386 | | if (paste_state == 0) { |
| | 387 | | |
| | 388 | | if (diff > paste_detect_time) |
| | 389 | | return FALSE;
|
| | 390 | | |
| | 391 | | g_free(paste_entry); |
| | 392 | | paste_entry = gui_entry_get_text(active_entry); |
| | 393 | | paste_entry_pos = gui_entry_get_pos(active_entry); |
| | 394 | | |
| | 395 | | paste_state++; |
| | 396 | | paste_line_count = 0; |
| | 397 | | paste_keycount = 0; |
| | 398 | | g_array_set_size(paste_buffer, 0); |
| | 399 | | if (prev_key != '\r' && prev_key != '\n') { |
| | 400 | | paste_keycount++; |
| | 401 | | } |
| Always True: paste_state > 0 | 402 | | } else if (paste_state > 0 && diff > paste_detect_time && | Problem | | Always True: paste_state > 0 |
|
| | 403 | | paste_line_count == 0) { |
| | 404 | | |
| | 405 | | paste_state = 0; |
| | 406 | | return FALSE;
|
| | 407 | | } |
| | 408 | | |
| | 409 | | |
| | 410 | | if (paste_prompt) { |
| | 411 | | if (key == 11 || key == 3) |
| | 412 | | paste_flush(key == 11); |
| | 413 | | return TRUE;
|
| | 414 | | } |
| | 415 | | |
| | 416 | | g_array_append_val(paste_buffer, key);
|
| | 417 | | if ((key == '\r' || key == '\n') && |
| | 418 | | (prev_key != '\r' && prev_key != '\n')) { |
| | 419 | | if (paste_state == 1) { |
| | 420 | | if (paste_keycount < paste_detect_keycount) { |
| | 421 | | |
| | 422 | | |
| | 423 | | |
| | 424 | | g_array_set_size(paste_buffer, 0); |
| | 425 | | *paste_entry = '\0'; |
| | 426 | | return FALSE;
|
| | 427 | | } |
| | 428 | | |
| | 429 | | |
| | 430 | | paste_state = 2; |
| | 431 | | gui_entry_set_text(active_entry, paste_entry); |
| | 432 | | gui_entry_set_pos(active_entry, paste_entry_pos); |
| | 433 | | if (paste_verify_line_count > 0) |
| | 434 | | g_timeout_add(100, paste_timeout, NULL);
|
| | 435 | | } |
| | 436 | | |
| | 437 | | if (paste_verify_line_count <= 0) { |
| | 438 | | |
| | 439 | | paste_send(); |
| | 440 | | g_array_set_size(paste_buffer, 0); |
| | 441 | | } else { |
| | 442 | | paste_line_count++; |
| | 443 | | } |
| | 444 | | } |
| | 445 | | |
| | 446 | | return paste_state == 2; |
| | 447 | | } |