Update of /project/mcclim/cvsroot/mcclim/Backends/CLX In directory cl-net:/tmp/cvs-serv16195
Modified Files: frame-manager.lisp Log Message: (ADOPT-FRAME :AFTER CLX-FRAME-MANAGER APPLICATION-FRAME) If the frame happens to have a non-null calling-frame slot, tell the window manager. That way pop up dialogs are recognized as such allowing the window manager to apply what ever special handling it does to pop up windows.
--- /project/mcclim/cvsroot/mcclim/Backends/CLX/frame-manager.lisp 2009/01/28 19:27:22 1.23 +++ /project/mcclim/cvsroot/mcclim/Backends/CLX/frame-manager.lisp 2009/08/01 22:15:32 1.24 @@ -117,6 +117,14 @@ (setf (xlib:window-event-mask mirror) (logior (xlib:window-event-mask mirror) (xlib:make-event-mask :structure-notify))) + ;; Care for calling-frame, be careful not to trip on missing bits + (let* ((calling-frame (frame-calling-frame frame)) + (tls (and calling-frame (frame-top-level-sheet calling-frame))) + (calling-mirror (and tls (sheet-mirror tls)))) + (when calling-mirror + (setf (xlib:transient-for mirror) + calling-mirror))) + ;; (when (sheet-enabled-p sheet) (xlib:map-window mirror) ))))