[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r8832 - gnuradio/branches/developers/jcorgan/ptrfix/gn
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r8832 - gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime |
Date: |
Tue, 8 Jul 2008 18:35:36 -0600 (MDT) |
Author: jcorgan
Date: 2008-07-08 18:35:35 -0600 (Tue, 08 Jul 2008)
New Revision: 8832
Modified:
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.h
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/qa_gr_hier_block2_derived.cc
Log:
Partial fix
Modified:
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
===================================================================
---
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
2008-07-09 00:09:17 UTC (rev 8831)
+++
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
2008-07-09 00:35:35 UTC (rev 8832)
@@ -31,9 +31,10 @@
#define GR_HIER_BLOCK2_DEBUG 0
-gr_hier_block2_sptr gr_make_hier_block2(const std::string &name,
- gr_io_signature_sptr input_signature,
- gr_io_signature_sptr output_signature)
+gr_hier_block2_sptr
+gr_make_hier_block2(const std::string &name,
+ gr_io_signature_sptr input_signature,
+ gr_io_signature_sptr output_signature)
{
return gr_hier_block2_sptr(new gr_hier_block2(name, input_signature,
output_signature));
}
@@ -42,10 +43,19 @@
gr_io_signature_sptr input_signature,
gr_io_signature_sptr output_signature)
: gr_basic_block(name, input_signature, output_signature),
+ d_me(gr_hier_block2_sptr(this)), // temporary holder for shared pointer
d_detail(new gr_hier_block2_detail(this))
{
}
+gr_hier_block2_sptr
+gr_hier_block2::get_initial_sptr()
+{
+ gr_hier_block2_sptr p(d_me);
+ d_me.reset();
+ return p;
+}
+
gr_hier_block2::~gr_hier_block2()
{
delete d_detail;
Modified:
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.h
===================================================================
---
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.h
2008-07-09 00:09:17 UTC (rev 8831)
+++
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/gr_hier_block2.h
2008-07-09 00:35:35 UTC (rev 8832)
@@ -51,8 +51,11 @@
* \brief Private implementation details of gr_hier_block2
*/
gr_hier_block2_detail *d_detail;
-
+
protected:
+ gr_hier_block2_sptr d_me;
+ gr_hier_block2_sptr get_initial_sptr();
+
gr_hier_block2(const std::string &name,
gr_io_signature_sptr input_signature,
gr_io_signature_sptr output_signature);
Modified:
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/qa_gr_hier_block2_derived.cc
===================================================================
---
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/qa_gr_hier_block2_derived.cc
2008-07-09 00:09:17 UTC (rev 8831)
+++
gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime/qa_gr_hier_block2_derived.cc
2008-07-09 00:35:35 UTC (rev 8832)
@@ -35,7 +35,9 @@
gr_derived_block_sptr
gr_make_derived_block()
{
- return gr_derived_block_sptr(new gr_derived_block());
+ gr_derived_block *p = new gr_derived_block();
+ gr_derived_block_sptr s(p->get_initial_sptr());
+ return s;
}
gr_derived_block::gr_derived_block()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8832 - gnuradio/branches/developers/jcorgan/ptrfix/gnuradio-core/src/lib/runtime,
jcorgan <=