diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9f06267e3b..80fc4067a8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2011-09-05 Pedro Alves + + PR cli/13110 + + * infrun.c (fetch_inferior_event): Check if there's a selected + thread before checking if the selected thread is executing. + 2011-09-05 Pedro Alves * inf-loop.c (execute_command): Don't check if the current thread diff --git a/gdb/infrun.c b/gdb/infrun.c index fee302c5ee..8846cdf1a1 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2749,7 +2749,9 @@ fetch_inferior_event (void *client_data) switches threads anyway). If we didn't do this, a spurious delayed event in all-stop mode would make the user lose the selected frame. */ - if (non_stop || is_executing (inferior_ptid)) + if (non_stop + || (!ptid_equal (inferior_ptid, null_ptid) + && is_executing (inferior_ptid))) registers_changed (); make_cleanup_restore_integer (&execution_direction);