Fix bug in clipboard implementation.
authorChris Hanson <org/chris-hanson/cph>
Thu, 9 Jul 1998 04:31:40 +0000 (04:31 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 9 Jul 1998 04:31:40 +0000 (04:31 +0000)
v7/src/win32/clipbrd.scm
v7/src/win32/wf_user.scm

index ef16a6d95600b69cc6b2ee96298b9d8a4a12c9c7..d854a7843e8ab6ae069f1cea60ee13b1931894df 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: clipbrd.scm,v 1.3 1998/07/09 04:29:29 cph Exp $
+;;;    $Id: clipbrd.scm,v 1.4 1998/07/09 04:31:40 cph Exp $
 ;;;
 ;;;    Copyright (c) 1995-98 Massachusetts Institute of Technology
 ;;;
        (error "Unable to allocate global memory of length" len))
     (copy-memory (global-lock mem) s len)
     (global-unlock mem)
-    (if (not (open-clipboard 0))
-       (error "Error opening clipboard."))
-    (if (not (empty-clipboard))
-       (error "Error emptying clipboard."))
-    (if (not (set-clipboard-data CF_TEXT mem))
-       (error "Error setting clipboard data."))
-    (if (not (close-clipboard))
-       (error "Error closing clipboard."))))
+    (open-clipboard 0)
+    (empty-clipboard)
+    (set-clipboard-data CF_TEXT mem)
+    (close-clipboard)))
 
 (define (win32-clipboard-read-text)
   (open-clipboard 0)
index fd19aa2c303dc6dd7070606915f99697a1f26568..264d21cf2a4fe8ba5d2500163eff2e06bfc6ad2e 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: wf_user.scm,v 1.7 1996/10/07 18:17:03 cph Exp $
+$Id: wf_user.scm,v 1.8 1998/07/09 04:29:36 cph Exp $
 
-Copyright (c) 1993-96 Massachusetts Institute of Technology
+Copyright (c) 1993-98 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -62,6 +62,7 @@ MIT in each case. |#
 (define  destroy-window)
 (define  draw-menu-bar)
 (define  ellipse)
+(define  empty-clipboard)
 (define  enable-menu-item)
 (define  end-paint)
 (define  get-client-rect)
@@ -69,6 +70,7 @@ MIT in each case. |#
 (define  get-dc)
 (define  get-device-caps)
 (define  get-focus)
+(define  get-last-error)
 (define  get-menu)
 (define  get-menu-check-mark-dimensions)
 (define  get-menu-item-count)
@@ -494,7 +496,8 @@ MIT in each case. |#
       bool user32.dll "OpenClipboard"))
 
   (set! close-clipboard
-    (windows-procedure (close-clipboard) bool user32.dll "CloseClipboard"))
+    (windows-procedure (close-clipboard)
+      bool user32.dll "CloseClipboard"))
 
   (set! set-clipboard-data
     (windows-procedure (set-clipboard-data (format uint) (hdata handle))
@@ -504,6 +507,10 @@ MIT in each case. |#
     (windows-procedure (get-clipboard-data (format uint))
       handle user32.dll "GetClipboardData"))
 
+  (set! empty-clipboard
+    (windows-procedure (empty-clipboard)
+      bool user32.dll "EmptyClipboard"))
+
 
   (set! global-alloc
     (windows-procedure (global-alloc (fuFlags uint) (cbBytes dword))
@@ -527,4 +534,9 @@ MIT in each case. |#
       bool kernel32.dll "RtlMoveMemory"))
 
 
+  (set! get-last-error
+    (windows-procedure (get-last-error)
+      dword kernel32.dll "GetLastError"))
+
+
   unspecific)