@@ -501,50 +501,51 @@ DEBUG-SESSION is the debug session triggering the event."
501501 'help-echo hover-text))
502502
503503(defun dap-ui--update-controls (&rest _ )
504- (let* ((session (dap--cur-session))
505- (stopped? (and session (dap--debug-session-active-frame session)))
506- (running? (and session (dap--session-running session))))
507- (if running?
508- (let ((content (s-concat
509- (dap-ui--create-command " continue.png" #'dap-continue " Continue" )
510- " "
511- (dap-ui--create-command (if stopped?
512- " step-over.png"
513- " step-over-disabled.png" )
514- (when stopped? #'dap-next )
515- (if stopped? " Step over"
516- " Session not stopped?" ))
517- " "
518- (dap-ui--create-command (if stopped? " step-out.png"
519- " step-out-disabled.png" )
520- (when stopped? #'dap-step-out )
521- (if stopped? " Step out"
522- " Session not stopped? " ))
523- " "
524- (dap-ui--create-command (if stopped? " step-into.png"
525- " step-into-disabled.png" )
526- (when stopped? #'dap-step-in )
527- (if stopped? " Step in"
528- " Session not stopped?" ))
529- " "
530- (dap-ui--create-command " disconnect.png" #'dap-disconnect " Disconnect" )
531- " "
532- (dap-ui--create-command " restart.png" #'dap-debug-restart " Restart" )))
533- posframe-mouse-banish
534- (pos-frame (-first
535- (lambda (frame )
536- (let ((buffer-info (frame-parameter frame 'posframe-buffer )))
537- (or (equal dap-ui--control-buffer (car buffer-info))
538- (equal dap-ui--control-buffer (cdr buffer-info)))))
539- (frame-list ))))
540- (ignore posframe-mouse-banish)
541- (when (eq (selected-frame ) pos-frame)
542- (select-frame (frame-parent pos-frame)))
543- (posframe-show dap-ui--control-buffer
544- :string content
545- :poshandler #'posframe-poshandler-frame-top-center
546- :internal-border-width 8 ))
547- (posframe-hide dap-ui--control-buffer))))
504+ (when (posframe-workable-p)
505+ (let* ((session (dap--cur-session))
506+ (stopped? (and session (dap--debug-session-active-frame session)))
507+ (running? (and session (dap--session-running session))))
508+ (if running?
509+ (let ((content (s-concat
510+ (dap-ui--create-command " continue.png" #'dap-continue " Continue" )
511+ " "
512+ (dap-ui--create-command (if stopped?
513+ " step-over.png"
514+ " step-over-disabled.png" )
515+ (when stopped? #'dap-next )
516+ (if stopped? " Step over"
517+ " Session not stopped?" ))
518+ " "
519+ (dap-ui--create-command (if stopped? " step-out.png"
520+ " step-out-disabled.png" )
521+ (when stopped? #'dap-step-out )
522+ (if stopped? " Step out"
523+ " Session not stopped? " ))
524+ " "
525+ (dap-ui--create-command (if stopped? " step-into.png"
526+ " step-into-disabled.png" )
527+ (when stopped? #'dap-step-in )
528+ (if stopped? " Step in"
529+ " Session not stopped?" ))
530+ " "
531+ (dap-ui--create-command " disconnect.png" #'dap-disconnect " Disconnect" )
532+ " "
533+ (dap-ui--create-command " restart.png" #'dap-debug-restart " Restart" )))
534+ posframe-mouse-banish
535+ (pos-frame (-first
536+ (lambda (frame )
537+ (let ((buffer-info (frame-parameter frame 'posframe-buffer )))
538+ (or (equal dap-ui--control-buffer (car buffer-info))
539+ (equal dap-ui--control-buffer (cdr buffer-info)))))
540+ (frame-list ))))
541+ (ignore posframe-mouse-banish)
542+ (when (eq (selected-frame ) pos-frame)
543+ (select-frame (frame-parent pos-frame)))
544+ (posframe-show dap-ui--control-buffer
545+ :string content
546+ :poshandler #'posframe-poshandler-frame-top-center
547+ :internal-border-width 8 ))
548+ (posframe-hide dap-ui--control-buffer)))))
548549
549550;;;### autoload
550551(define-minor-mode dap-ui-controls-mode
0 commit comments