summaryrefslogtreecommitdiff
path: root/src/w16select.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>1998-04-22 10:26:10 +0000
committerEli Zaretskii <eliz@gnu.org>1998-04-22 10:26:10 +0000
commit31354c30f668c552339b0636ae1e65e44a19cb86 (patch)
tree4af7ce0053d73fc081de00c61138e5cd5f40afa8 /src/w16select.c
parent181688f29c4495e90fb12d9b18001218ccfd3ff9 (diff)
downloademacs-31354c30f668c552339b0636ae1e65e44a19cb86.tar.gz
(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/w16select.c')
-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
close_clipboard ();
- if (ok) goto done;
+ if (ok) goto unblock;
error:
ok = 0;
+ unblock:
+ UNBLOCK_INPUT;
+
/* Notify user if the text is too large to fit into DOS memory.
(This will happen somewhere after 600K bytes (470K in DJGPP v1.x),
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
}
done:
- UNBLOCK_INPUT;
return (ok ? string : Qnil);
}
@@ -464,7 +466,7 @@ DEFUN ("win16-get-clipboard-data", Fwin16_get_clipboard_data, Swin16_get_clipboa
BLOCK_INPUT;
if (!open_clipboard ())
- goto done;
+ goto unblock;
if ((data_size = get_clipboard_data_size (CF_TEXT)) == 0 ||
(htext = (unsigned char *)xmalloc (data_size)) == 0)
@@ -481,9 +483,11 @@ DEFUN ("win16-get-clipboard-data", Fwin16_get_clipboard_data, Swin16_get_clipboa
closeclip:
close_clipboard ();
+
+ unblock:
+ UNBLOCK_INPUT;
done:
- UNBLOCK_INPUT;
return (ret);
}