Cannot make tree-view display updated values - gets error
I make a capi:tree-view like this (capi:contain (make-instance 'capi:tree-view :roots (mapcar (lambda (n) (make-instance 'capi:item :data n)) '(1 2 3 4)) :callback-type :item-element :action-callback 'edit-item :print-function 'print-it))) (defun edit-item (item element) (incf (capi:item-data item)) (capi:redisplay-collection-item element item)) (defun print-it (x) (format nil "Value: ~A" (capi:item-data x))) When I double-click an item, I expect its value to increase by 1, and to be redisplayed. But I get Error: Exception C0000005 [flags 0] at 20803BC2 {Offset 40 inside #<Function 1 subfunction of (TOP-LEVEL-FORM 3) 20803B9A>} eax 56 ebx 18 ecx 306 edx 1EACC74 esp 35FE528 ebp 35FE628 esi 2 edi 20803B9A 1 (abort) Return to event loop. 2 Destroy interface "Container" (of type CAPI:INTERFACE) Call to ERROR Call to WIN32::SIGNAL-EXCEPTION-ERROR Call to (METHOD CAPI-LIBRARY:REPRESENTATION-UPDATE-TREE-VIEW-REDISPLAY-ITEMS (CAPI-WIN32-LIB::R-TREE-VIEW T)) Call to (METHOD CAPI::UPDATE-REPRESENTATION :AFTER (CAPI::TREE-VIEW-MIXING T)) Call to CLOS::METHOD-COMBINATION-TEMPLATE Call to CAPI::DO-REDISPLAY Call to (METHOD CAPI::REDISPLAY (CAPI::PANE-WITH-CHILDREN)) Interpreted call to EDIT-ITEM Call to CAPI::EXECUTE-CALLBACK Call to CAPI:EXECUTE-WITH-INTERFACE Call to (SUBFUNCTION 1 (WIN32:DEFINE-COMMON-CONTROL-FUNCTION CAPI-WIN32-LIB::R-TREE-VIEW WIN32::NM_DBLCLK)) Call to WIN32::WND-PROC Call to (SUBFUNCTION WIN32::|%FOREIGN-CALLABLE/wnd_proc_callback| (FLI:DEFINE-FOREIGN-CALLABLE "wnd_proc_callback")) Call to FLI::FOREIGN-CALLABLE-ENTRY-POINT-AUX-NESTED Call to WIN32::CALL-WINDOW-PROC$RAW Call to WIN32::WND-PROC If I inspect the tree-view roots, I find that the value of the double-clicked item has indeed been increased by 1. If I remove the call to capi:redisplay-collection-item, then the value is increased, but not redisplayed; the tree looks the same all the time. This is the smallest example I've been able to find for reproducing this. I have a capi:tree-view where some of the items are changed either by the program, or by the user via an action and a callback like in this example. I cannot make the tree-view display the updated value. Whatever I do I get this exception. I may be doing something wrong, but what? LWW 6.0.1 Eivind