[nemiver] Change IDebugger::thread_selected_signal signature
- From: Dodji Seketeli <dodji src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [nemiver] Change IDebugger::thread_selected_signal signature
- Date: Tue, 11 Aug 2009 18:45:21 +0000 (UTC)
commit d5a09a9588daffd69a75da52fe471dc8dade6c64
Author: Dodji Seketeli <dodji redhat com>
Date: Tue Aug 11 16:25:43 2009 +0200
Change IDebugger::thread_selected_signal signature
* src/dbgengine/nmv-i-debugger.h:
(IDebugger::thread_selected_signal): Change signature.
The frame is now a pointer.
* src/dbgengine/nmv-gdb-engine.h: Adjust.
* src/dbgengine/nmv-gdb-engine.cc: Likewise.
* src/persp/dbgperspective/nmv-thread-list.cc: Likewise.
src/dbgengine/nmv-gdb-engine.cc | 21 +++++++++++++++------
src/dbgengine/nmv-gdb-engine.h | 2 +-
src/dbgengine/nmv-i-debugger.h | 2 +-
src/persp/dbgperspective/nmv-thread-list.cc | 9 ++++-----
tests/test-breakpoint.cc | 10 +++++++---
5 files changed, 28 insertions(+), 16 deletions(-)
---
diff --git a/src/dbgengine/nmv-gdb-engine.cc b/src/dbgengine/nmv-gdb-engine.cc
index 18350f9..4caa5de 100644
--- a/src/dbgengine/nmv-gdb-engine.cc
+++ b/src/dbgengine/nmv-gdb-engine.cc
@@ -176,8 +176,10 @@ public:
const vector<UString>&,
const UString& > files_listed_signal;
- mutable sigc::signal<void, int, const Frame&, const UString&>
- thread_selected_signal;
+ mutable sigc::signal<void,
+ int,
+ const Frame * const,
+ const UString&> thread_selected_signal;
mutable sigc::signal<void, const vector<IDebugger::Frame>&, const UString&>
frames_listed_signal;
@@ -1229,9 +1231,13 @@ struct OnThreadListHandler : OutputHandler {
struct OnThreadSelectedHandler : OutputHandler {
GDBEngine *m_engine;
+ long thread_id;
+ bool has_frame;
OnThreadSelectedHandler (GDBEngine *a_engine) :
- m_engine (a_engine)
+ m_engine (a_engine),
+ thread_id (0),
+ has_frame (false)
{}
bool can_handle (CommandAndOutput &a_in)
@@ -1249,9 +1255,12 @@ struct OnThreadSelectedHandler : OutputHandler {
LOG_FUNCTION_SCOPE_NORMAL_DD;
THROW_IF_FAIL (m_engine);
+
m_engine->thread_selected_signal ().emit
- (a_in.output ().result_record ().thread_id (),
- a_in.output ().result_record ().frame_in_thread (),
+ (thread_id,
+ has_frame
+ ? &a_in.output ().result_record ().frame_in_thread ()
+ : 0,
a_in.command ().cookie ());
}
};//end OnThreadSelectedHandler
@@ -2718,7 +2727,7 @@ GDBEngine::files_listed_signal () const
return m_priv->files_listed_signal;
}
-sigc::signal<void, int, const IDebugger::Frame&, const UString&>&
+sigc::signal<void, int, const IDebugger::Frame* const, const UString&>&
GDBEngine::thread_selected_signal () const
{
return m_priv->thread_selected_signal;
diff --git a/src/dbgengine/nmv-gdb-engine.h b/src/dbgengine/nmv-gdb-engine.h
index 9b813f6..2e0d905 100644
--- a/src/dbgengine/nmv-gdb-engine.h
+++ b/src/dbgengine/nmv-gdb-engine.h
@@ -102,7 +102,7 @@ public:
sigc::signal<void,
int,
- const Frame&,
+ const Frame* const,
const UString&>& thread_selected_signal () const ;
sigc::signal<void,
diff --git a/src/dbgengine/nmv-i-debugger.h b/src/dbgengine/nmv-i-debugger.h
index 3b453f5..27b7738 100644
--- a/src/dbgengine/nmv-i-debugger.h
+++ b/src/dbgengine/nmv-i-debugger.h
@@ -821,7 +821,7 @@ public:
virtual sigc::signal<void,
int/*thread id*/,
- const IDebugger::Frame&/*frame in thread*/,
+ const IDebugger::Frame *const/*frame in thread*/,
const UString& /*cookie*/> &
thread_selected_signal () const=0;
diff --git a/src/persp/dbgperspective/nmv-thread-list.cc b/src/persp/dbgperspective/nmv-thread-list.cc
index a4681ee..d05d7d9 100644
--- a/src/persp/dbgperspective/nmv-thread-list.cc
+++ b/src/persp/dbgperspective/nmv-thread-list.cc
@@ -125,14 +125,13 @@ struct ThreadList::Priv {
NEMIVER_CATCH
}
- void on_debugger_thread_selected_signal (int a_tid,
- const IDebugger::Frame &a_frame,
- const UString &a_cookie)
+ void on_debugger_thread_selected_signal
+ (int a_tid,
+ const IDebugger::Frame * const,
+ const UString &/*a_cookie*/)
{
LOG_FUNCTION_SCOPE_NORMAL_DD;
- if (a_frame.level () || a_cookie.empty ()) {}
-
NEMIVER_TRY
select_thread_id (a_tid, false);
diff --git a/tests/test-breakpoint.cc b/tests/test-breakpoint.cc
index 62862fd..777e290 100644
--- a/tests/test-breakpoint.cc
+++ b/tests/test-breakpoint.cc
@@ -167,14 +167,18 @@ on_threads_listed_signal (const std::list<int> &a_thread_ids,
void
on_thread_selected_signal (int a_thread_id,
- const IDebugger::Frame &a_frame,
+ const IDebugger::Frame * const a_frame,
const UString &a_cookie)
{
if (a_cookie.empty ()) {}
MESSAGE ("thread selected: '" << a_thread_id) ;
- MESSAGE ("frame in thread : '" << a_frame.level ()) ;
- MESSAGE ("frame.function: '" << a_frame.function_name ()) ;
+ if (a_frame) {
+ MESSAGE ("frame in thread : '" << a_frame->level ()) ;
+ MESSAGE ("frame.function: '" << a_frame->function_name ()) ;
+ } else {
+ MESSAGE ("no frame provided");
+ }
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]