X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/8bc1cf79b862f73f475199118fd1b75e7cc3f083..9176d3016a7e5a30d32cbbb68ba4cfbac6ef4394:/rsvg/rsvg.lisp diff --git a/rsvg/rsvg.lisp b/rsvg/rsvg.lisp index 489ef4c..c2d5872 100644 --- a/rsvg/rsvg.lisp +++ b/rsvg/rsvg.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: rsvg.lisp,v 1.2 2006-02-08 22:21:26 espen Exp $ +;; $Id: rsvg.lisp,v 1.3 2006-02-09 22:33:13 espen Exp $ (in-package "RSVG") @@ -111,15 +111,14 @@ (defbinding %handle-new-from-file () pointer (filename pathname) (nil gerror :out)) -(defmethod initialize-instance ((handle handle) &key filename) +(defmethod allocate-foreign ((handle handle) &key filename) (multiple-value-bind (location gerror) (cond (filename (%handle-new-from-file filename)) (t (%handle-new))) (if gerror (signal-gerror gerror) - (setf (foreign-location handle) location))) - (call-next-method)) + location))) (defbinding %handle-free () nil