Transfer ownerhip only for smoke classes.
Wed Jun 10 14:14:34 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Transfer ownerhip only for smoke classes.
hunk ./src/application.lisp 53
- (setf argv (foreign-alloc :string :initial-contents args))
hunk ./src/application.lisp 54
+ (setf argv (foreign-alloc :string :initial-contents args))
hunk ./src/object.lisp 69
- (smoke::disown-object object)))
+ (smoke::transfer-ownership-to object (cxx:parent object))))
hunk ./src/object.lisp 94
-
hunk ./src/object.lisp 109
- (error (make-condition 'wrapper-gc :class-name name
+ (error (make-condition 'wrapper-gc
+ :class-name (name class)
hunk ./src/object.lisp 119
- (cerror 'continue "Finalizer for object with a parent called."))
+ (cerror "Ignore" "Finalizer for object with a parent called."))
hunk ./src/object.lisp 142
- (let ((event (make-instance 'event :pointer (cffi:mem-aref data :pointer 1))))
+ (let ((receiver (smoke::get-object (cffi:mem-aref data :pointer 0)))
+ (event (make-instance 'event :pointer (cffi:mem-aref data :pointer 1))))
hunk ./src/object.lisp 146
- (let* ((child-event (make-instance 'child-event
+ (let ((child-event (make-instance 'child-event
hunk ./src/object.lisp 149
- (smoke::disown-object (cxx:child child-event))))
+ (when (smoke::has-pointer-p (smoke::pointer (cxx:child child-event)))
+ (assert receiver)
+ (smoke::transfer-ownership-to (cxx:child child-event) receiver))))
hunk ./src/object.lisp 160
- (smoke::take-ownership (cxx:child child-event)))))))
+ (assert receiver)
+ (smoke::take-ownership (cxx:child child-event) receiver))))))
hunk ./src/ownership.lisp 3
+;; undo-stack
hunk ./src/ownership.lisp 6
+
+
+#|
+;; FIXME TODO
+;; application
+(define-takes-ownership cxx:set-style ((application application) (style style))
+ ;; NOT QString style
+ style) ;; STATIC [_$_]
+
+
+;; core-application
+(define-takes-ownership cxx:post-event ((app core-application) receiver (event event))
+ event) ;; STATIC
+(define-takes-ownership cxx:post-event ((app core-application) receiver event priority)
+ event) ;; STATIC
+|#
+
+;; AbstractFileEngine::beginEntryList return value
+
+;; grid-layout
+(define-takes-ownership cxx:add-item ((layout grid-layout) (item layout-item)
+ row column)
+ item)
+(define-takes-ownership cxx:add-item ((layout grid-layout) (item layout-item)
+ row column row-span)
+ item)
+(define-takes-ownership cxx:add-item ((layout grid-layout) (item layout-item)
+ row column row-span colum-span)
+ item)
+(define-takes-ownership cxx:add-item ((layout grid-layout) (item layout-item)
+ row column row-span colum-span aligment)
+ item)
+
+(define-takes-ownership cxx:add-item ((layout layout) (item layout-item))
+ item)
+
+;; QIcon::QIcon(QIconEngine* engine)
+
+(define-takes-ownership cxx:register-editor ((factory item-editor-factory)
+ type creator)
+ creator)
+
+
+(define-takes-ownership cxx:set-child ((this standard-item) row colum item)
+ item)
+(define-takes-ownership cxx:set-child ((this standard-item) row item)
+ item)
+(define-takes-ownership cxx:set-horizontal-header-item ((this standard-item-model)
+ column item)
+ item)
+(define-takes-ownership cxx:set-vertical-header-item ((this standard-item-model)
+ row item)
+ item)
+(define-takes-ownership cxx:set-item ((this standard-item-model)
+ row column item)
+ item)
+(define-takes-ownership cxx:set-item ((this standard-item-model)
+ row item)
+ item)
+(define-takes-ownership cxx:set-item-prototype ((this standard-item-model)
+ item)
+ item)
+
+
+;; Allocates return value
+;; QLineEdit::createStandardContextMenu()
+
+;; parent
+;; QListwidgetitem
+
+
+;; Relases ownership
+;;QList<QStandardItem *> QStandardItemModel::takeColumn ( int column )
+;; etc
hunk ./src/qt.lisp 40
-