Revision: 3440 Author: ksprotte URL: http://bknr.net/trac/changeset/3440
use contract-node-invalidate-timestamp for remove-contract
U trunk/projects/bos/web/contract-tree.lisp
Modified: trunk/projects/bos/web/contract-tree.lisp =================================================================== --- trunk/projects/bos/web/contract-tree.lisp 2008-07-15 10:03:24 UTC (rev 3439) +++ trunk/projects/bos/web/contract-tree.lisp 2008-07-15 10:07:07 UTC (rev 3440) @@ -9,8 +9,12 @@ (kml-req-count :initform 0 :accessor kml-req-count) (image-req-count :initform 0 :accessor image-req-count)))
-(defun contract-node-set-timestamp-now (node) - (setf (timestamp node) (get-universal-time))) +(defun contract-node-invalidate-timestamp (node) + (let ((image (contract-node-find-corresponding-store-image node))) + (setf (timestamp node) + (if (and image (probe-file (blob-pathname image))) + (1+ (blob-timestamp image)) + (get-universal-time)))))
(defun contract-node-timestamp-updater (contract) (lambda (node) (setf (timestamp node) @@ -102,7 +106,7 @@ (setf (placemark-contracts node) (delete contract (placemark-contracts node))) ;; mark intersecting children as dirty - (ensure-intersecting-children contract-tree geo-box #'contract-node-set-timestamp-now)))) + (ensure-intersecting-children contract-tree geo-box #'contract-node-invalidate-timestamp))))
(defun contract-tree-changed (contract-tree contract &key type) (case type