Lisp Knowledgebase
Title: Delivery level 5 breaks saved CAPI window geometry
ID: 17031
Product: LispWorks Version: 4.3 OS: All | |
Description: An application which uses capi:top-level-interface-geometry-key to define a registry path for saving on-screen CAPI window geometries works at delivery level 4 but but fails to save its window geometry at delivery level 5. capi:top-level-interface-geometry-key depends on symbol-name to construct the registry path for saving the on screen geometry of an interface class. At delivery level 5, symbol names are removed by default. This is a significant saving in size of your application so it is still worth doing, but you can specially keep the symbols needed for the paths, that is the, class names of the interface classes for your top-level interfaces. A simple delivery script would look something like: ----------------------------------------------------------------------- (in-package "MY-PACKAGE") (capi:define-interface foo () () ... ) (defmethod capi:top-level-interface-save-geometry-p ((interface foo)) t) (defmethod capi:top-level-interface-geometry-key ((interface foo)) (values 'foo :foo-bar)) (setf (sys:product-registry-path :foo-bar) '("Software" "xxx.com" "The foo-bar test")) (defun start () (capi:display (make-instance 'foo))) (deliver 'start "foo" 5 :keep-symbols '(foo) :interface :capi) (quit) ------------------------------------------------------------------------ | |
See Also: Workaround: Use deliver keyword :keep-symbols Patch: | |
Hardware:N/A | |
Summary: | |
Bug#: | |
Patch Enhancement#: | |
Reported: |