diff lisp/progmodes/gdb-ui.el @ 73294:f11ea9f277ca

(gdb-speedbar-expand-node): Burp if GUD buffer has been killed.
author Nick Roberts <nickrob@snap.net.nz>
date Sat, 07 Oct 2006 23:37:20 +0000
parents 5a0fb2945b46
children 12bc7c50359c 2d56e13fd23d 8dd8c8286063
line wrap: on
line diff
--- a/lisp/progmodes/gdb-ui.el	Sat Oct 07 23:15:47 2006 +0000
+++ b/lisp/progmodes/gdb-ui.el	Sat Oct 07 23:37:20 2006 +0000
@@ -902,20 +902,23 @@
 TEXT is the text of the button we clicked on, a + or - item.
 TOKEN is data related to this node.
 INDENT is the current indentation depth."
-  (cond ((string-match "+" text)        ;expand this node
-	 (if (and
-	      (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
-	      (string-equal gdb-version "pre-6.4"))
-	     (gdb-var-list-children token)
-	   (gdb-var-list-children-1 token)))
-	((string-match "-" text)	;contract this node
-	 (dolist (var gdb-var-list)
-	   (if (string-match (concat token "\\.") (car var))
-	       (setq gdb-var-list (delq var gdb-var-list))))
-	 (speedbar-change-expand-button-char ?+)
-	 (speedbar-delete-subblock indent))
-	(t (error "Ooops...  not sure what to do")))
-  (speedbar-center-buffer-smartly))
+  (if (and gud-comint-buffer (buffer-name gud-comint-buffer))
+      (progn
+	(cond ((string-match "+" text)	;expand this node
+	       (if (and (eq (buffer-local-value
+			     'gud-minor-mode gud-comint-buffer) 'gdba)
+			(string-equal gdb-version "pre-6.4"))
+		   (gdb-var-list-children token)
+		 (gdb-var-list-children-1 token)))
+	      ((string-match "-" text)	;contract this node
+	       (dolist (var gdb-var-list)
+		 (if (string-match (concat token "\\.") (car var))
+		     (setq gdb-var-list (delq var gdb-var-list))))
+	       (speedbar-change-expand-button-char ?+)
+	       (speedbar-delete-subblock indent))
+	      (t (error "Ooops...  not sure what to do")))
+	(speedbar-center-buffer-smartly))
+    (message-box "GUD session has been killed")))
 
 (defun gdb-get-target-string ()
   (with-current-buffer gud-comint-buffer
@@ -1132,7 +1135,7 @@
       (if gdb-prompting
 	  (progn
 	    (gdb-send-item item)
-	(setq gdb-prompting nil))
+	    (setq gdb-prompting nil))
 	(push item gdb-input-queue))))
 
 (defun gdb-dequeue-input ()