Esempio n. 1
0
gboolean view_stack_update(void)
{
	if (views[VIEW_STACK].dirty)
	{
		DebugState state = thread_state >= THREAD_STOPPED ? DS_DEBUG : DS_READY;
		view_update_unconditional(VIEW_STACK, state);
		return state == DS_DEBUG;
	}

	return FALSE;
}
Esempio n. 2
0
gboolean view_select_frame(void)
{
	if (g_strcmp0(frame_id, "0") && views[VIEW_STACK].dirty)
	{
		DebugState state = thread_state >= THREAD_STOPPED ? DS_DEBUG : DS_READY;
		view_update_unconditional(VIEW_STACK, state);
		return state == DS_DEBUG;
	}

	return FALSE;
}
Esempio n. 3
0
void views_update(DebugState state)
{
	if (option_update_all_views)
	{
		ViewIndex i;

		if (thread_state == THREAD_QUERY_FRAME)
		{
			if (!views[VIEW_THREADS].dirty)
				thread_query_frame('4');

			thread_state = THREAD_STOPPED;
		}

		for (i = 0; i < VIEW_COUNT; i++)
		{
			if (views[i].dirty)
			{
				view_update_unconditional(i, state);

				if (i == VIEW_STACK && thread_state >= THREAD_STOPPED)
					i = VIEW_WATCHES;
			}
		}
	}
	else
	{
		if (thread_state == THREAD_QUERY_FRAME)
		{
			if (view_current != VIEW_THREADS || !views[VIEW_THREADS].dirty)
				thread_query_frame('4');

			thread_state = THREAD_STOPPED;
		}

		view_update(view_current, state);
		view_update(VIEW_TOOLTIP, state);

		if (inspects_current())
			view_update(VIEW_INSPECT, state);
	}
}
Esempio n. 4
0
static void view_update(ViewIndex index, DebugState state)
{
	if (views[index].dirty)
		view_update_unconditional(index, state);
}