* gdbtk.tcl (files_command): Reorder the binding tags for
authorFred Fish <fnf@specifix.com>
Sun, 21 Jul 1996 01:28:12 +0000 (01:28 +0000)
committerFred Fish <fnf@specifix.com>
Sun, 21 Jul 1996 01:28:12 +0000 (01:28 +0000)
the listbox widget to avoid referencing the listbox after
the containing widget has been destroyed by the action of
a previous binding.

gdb/ChangeLog
gdb/gdbtk.tcl

index 4a26f00..d5102dc 100644 (file)
@@ -1,3 +1,10 @@
+Sat Jul 20 17:46:40 1996  Fred Fish  <fnf@cygnus.com>
+
+       * gdbtk.tcl (files_command): Reorder the binding tags for
+       the listbox widget to avoid referencing the listbox after
+       the containing widget has been destroyed by the action of
+       a previous binding.
+
 Sat Jul 20 10:41:06 1996  Fred Fish  <fnf@cygnus.com>
 
        * dwarf2read.c (struct filenames): Change internal "struct file"
index 6d027cc..bd08669 100644 (file)
@@ -2241,12 +2241,17 @@ proc files_command {} {
   pack .files_window.close -side bottom -fill x -expand no -anchor s
   pack .files_window.scroll -side right -fill both
   pack .files_window.list -side left -fill both -expand yes
-  bind .files_window.list <Any-ButtonRelease-1> {
+  bind .files_window.list <ButtonRelease-1> {
     set file [%W get [%W curselection]]
     gdb_cmd "list $file:1,0"
     update_listing [gdb_loc $file:1]
     destroy .files_window
   }
+  # We must execute the listbox binding first, because it
+  # references the widget that will be destroyed by the widget
+  # binding for Button-Release-1.  Otherwise we try to use
+  # .files_window.list after the .files_window is destroyed.
+  bind_widget_after_class .files_window.list
 }
 
 button .files -text Files -command files_command