anchor.diff:                (t (values nil :above height)))))))
   
   (defun popup-init (parent manager frame)
  -  (let ((list-pane (make-pane-1 manager frame 'generic-list-pane
  +  (let ((list-pane (apply #'make-pane-1 manager frame 'generic-list-pane
                                   :items (list-pane-items parent)
                                   :mode  (list-pane-mode parent)
  -                                :value (gadget-value parent)
                                   :name-key (list-pane-name-key parent)
                                   :value-key (list-pane-value-key parent)
  -                                :test (list-pane-test parent))))
  +                                :test (list-pane-test parent)
  +                                (and (slot-boundp parent 'value)
  +                                     (list :value (gadget-value parent))))))
       (multiple-value-bind (scroll-p position height)
           (popup-compute-height parent list-pane)
         (with-bounding-rectangle* (cx0 cy0 cx1 cy1) parent
  
positive.code:    ;; ACTIVATE-GADGET after creating a gadget?
     ;;
     ;; I think, T is correct here --GB
     (active-p            :initform t
                          :reader gadget-active-p)
     ;;
     ;; I am not so lucky with the armed slot in GADGET --GB
  
negative.code:   (let* ((frame *application-frame*)
           (manager (frame-manager frame))
           ;; Popup state
           (final-change nil) ;; Menu should exit after next value change         
           (inner-grab nil)    ;; Gadget is grabbing the pointer, used to simulate
                               ;; X implicit pointer grabbing (for the scrollbar)
           (retain-value nil)
           (consume-and-exit nil) ;; If true, wait until a button release then exit
           (last-click-time nil)
           (last-item-index nil))
      (with-look-and-feel-realization (manager *application-frame*)
  