X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/8b69b878b2a450d164849ff3eae98b93d12d53ae..378b3c5fba30f700dfdc1a73b8f1db5ed89a5751:/gtk/gtkobject.lisp diff --git a/gtk/gtkobject.lisp b/gtk/gtkobject.lisp index 7557fc3..676a958 100644 --- a/gtk/gtkobject.lisp +++ b/gtk/gtkobject.lisp @@ -15,7 +15,7 @@ ;; License along with this library; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -;; $Id: gtkobject.lisp,v 1.12 2001/11/12 22:33:08 espen Exp $ +;; $Id: gtkobject.lisp,v 1.14 2002/03/24 13:02:43 espen Exp $ (in-package "GTK") @@ -34,7 +34,7 @@ (in-package "GTK") ;;;; Superclass for the gtk class hierarchy (eval-when (:compile-toplevel :load-toplevel :execute) - (init-types-in-library "libgtk-x11-1.3.so" + (init-types-in-library "libgtk-x11-2.0.so" :ignore ("gtk_window_get_type_hint")) (defclass %object (gobject) @@ -47,7 +47,7 @@ (defmethod shared-initialize ((object %object) names &rest initargs &allow-other-keys) (declare (ignore names)) (call-next-method) - (funcall (proxy-class-copy (class-of object)) nil (proxy-location object)) ; inc ref count before sinking + (object-ref object) ; inc ref count before sinking (%object-sink object) (dolist (signal-definition (get-all initargs :signal)) (apply #'signal-connect object signal-definition))) @@ -135,8 +135,15 @@ (defmethod effective-slot-definition-class ((class child-class) initargs) (:property (find-class 'effective-child-slot-definition)) (t (call-next-method)))) +(progn + (declaim (optimize (ext:inhibit-warnings 3))) + (defun %container-child-get-property (parent child pname gvalue)) + (defun %container-child-set-property (parent child pname gvalue))) + + (defmethod compute-virtual-slot-accessors ((class child-class) (slotd effective-child-slot-definition) direct-slotds) + (with-slots (type) slotd (let ((pname (slot-definition-pname (first direct-slotds))) (type-number (find-type-number type)))