aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii1998-04-22 10:26:10 +0000
committerEli Zaretskii1998-04-22 10:26:10 +0000
commit31354c30f668c552339b0636ae1e65e44a19cb86 (patch)
tree4af7ce0053d73fc081de00c61138e5cd5f40afa8 /src
parent181688f29c4495e90fb12d9b18001218ccfd3ff9 (diff)
downloademacs-31354c30f668c552339b0636ae1e65e44a19cb86.tar.gz
emacs-31354c30f668c552339b0636ae1e65e44a19cb86.zip
(Fwin16_set_clipboard_data): Call UNBLOCK_INPUT before calling sit_for.
(Fwin16_get_clipboard_data, Fwin16_set_clipboard_data): Balance the calls to BLOCK_INPUT and UNBLOCK_INPUT.
Diffstat (limited to 'src')
-rw-r--r--src/w16select.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/w16select.c b/src/w16select.c
index 87f341136a4..7ddda5a5a8e 100644
--- a/src/w16select.c
+++ b/src/w16select.c
@@ -419,12 +419,15 @@ DEFUN ("win16-set-clipboard-data", Fwin16_set_clipboard_data, Swin16_set_clipboa
419 419
420 close_clipboard (); 420 close_clipboard ();
421 421
422 if (ok) goto done; 422 if (ok) goto unblock;
423 423
424 error: 424 error:
425 425
426 ok = 0; 426 ok = 0;
427 427
428 unblock:
429 UNBLOCK_INPUT;
430
428 /* Notify user if the text is too large to fit into DOS memory. 431 /* Notify user if the text is too large to fit into DOS memory.
429 (This will happen somewhere after 600K bytes (470K in DJGPP v1.x), 432 (This will happen somewhere after 600K bytes (470K in DJGPP v1.x),
430 depending on user system configuration.) If we just silently 433 depending on user system configuration.) If we just silently
@@ -437,7 +440,6 @@ DEFUN ("win16-set-clipboard-data", Fwin16_set_clipboard_data, Swin16_set_clipboa
437 } 440 }
438 441
439 done: 442 done:
440 UNBLOCK_INPUT;
441 443
442 return (ok ? string : Qnil); 444 return (ok ? string : Qnil);
443} 445}
@@ -464,7 +466,7 @@ DEFUN ("win16-get-clipboard-data", Fwin16_get_clipboard_data, Swin16_get_clipboa
464 BLOCK_INPUT; 466 BLOCK_INPUT;
465 467
466 if (!open_clipboard ()) 468 if (!open_clipboard ())
467 goto done; 469 goto unblock;
468 470
469 if ((data_size = get_clipboard_data_size (CF_TEXT)) == 0 || 471 if ((data_size = get_clipboard_data_size (CF_TEXT)) == 0 ||
470 (htext = (unsigned char *)xmalloc (data_size)) == 0) 472 (htext = (unsigned char *)xmalloc (data_size)) == 0)
@@ -481,9 +483,11 @@ DEFUN ("win16-get-clipboard-data", Fwin16_get_clipboard_data, Swin16_get_clipboa
481 483
482 closeclip: 484 closeclip:
483 close_clipboard (); 485 close_clipboard ();
486
487 unblock:
488 UNBLOCK_INPUT;
484 489
485 done: 490 done:
486 UNBLOCK_INPUT;
487 491
488 return (ret); 492 return (ret);
489} 493}