* mi/mi-main.c: Include python-internal.h.

(mi_cmd_list_features): Check gdb_python_initialized.
	* python/py-inferior.c (python_on_normal_stop, python_on_resume)
	(python_inferior_exit, python_new_objfile, add_thread_object)
	(delete_thread_object, py_free_inferior): Check
	gdb_python_initialized.
	* python/py-prettyprint.c (apply_val_pretty_printer): Check
	gdb_python_initialized.
	* python/py-type.c (save_objfile_types): Check
	gdb_python_initialized.
	* python/python-internal.h (gdb_python_initialized): Declare.
	* python/python.c (ensure_python_env): Throw exception if
	Python not initialized.
	(before_prompt_hook, source_python_script_for_objfile)
	(start_type_printers, apply_type_printers,
	free_type_printers): Check gdb_python_initialized.
	* varobj.c (varobj_get_display_hint)
	(dynamic_varobj_has_child_method, update_dynamic_varobj_children)
	(install_new_value_visualizer, varobj_set_visualizer)
	(value_get_print_value): Check gdb_python_initialized.
This commit is contained in:
Tom Tromey 2013-05-20 20:29:44 +00:00
parent 999633ede7
commit 0646da15da
8 changed files with 169 additions and 76 deletions

View file

@ -85,6 +85,9 @@ python_on_normal_stop (struct bpstats *bs, int print_frame)
struct cleanup *cleanup;
enum gdb_signal stop_signal;
if (!gdb_python_initialized)
return;
if (!find_thread_ptid (inferior_ptid))
return;
@ -103,6 +106,9 @@ python_on_resume (ptid_t ptid)
{
struct cleanup *cleanup;
if (!gdb_python_initialized)
return;
cleanup = ensure_python_env (target_gdbarch (), current_language);
if (emit_continue_event (ptid) < 0)
@ -117,6 +123,9 @@ python_inferior_exit (struct inferior *inf)
struct cleanup *cleanup;
const LONGEST *exit_code = NULL;
if (!gdb_python_initialized)
return;
cleanup = ensure_python_env (target_gdbarch (), current_language);
if (inf->has_exit_code)
@ -139,6 +148,9 @@ python_new_objfile (struct objfile *objfile)
if (objfile == NULL)
return;
if (!gdb_python_initialized)
return;
cleanup = ensure_python_env (get_objfile_arch (objfile), current_language);
if (emit_new_objfile_event (objfile) < 0)
@ -231,6 +243,9 @@ add_thread_object (struct thread_info *tp)
inferior_object *inf_obj;
struct threadlist_entry *entry;
if (!gdb_python_initialized)
return;
cleanup = ensure_python_env (python_gdbarch, python_language);
thread_obj = create_thread_object (tp);
@ -260,6 +275,9 @@ delete_thread_object (struct thread_info *tp, int ignore)
inferior_object *inf_obj;
struct threadlist_entry **entry, *tmp;
if (!gdb_python_initialized)
return;
cleanup = ensure_python_env (python_gdbarch, python_language);
inf_obj = (inferior_object *) find_inferior_object (PIDGET(tp->ptid));
@ -726,6 +744,9 @@ py_free_inferior (struct inferior *inf, void *datum)
inferior_object *inf_obj = datum;
struct threadlist_entry *th_entry, *th_tmp;
if (!gdb_python_initialized)
return;
cleanup = ensure_python_env (python_gdbarch, python_language);
inf_obj->inferior = NULL;