diff options
Diffstat (limited to 'c++/src/H5DataSet.cpp')
-rw-r--r-- | c++/src/H5DataSet.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/c++/src/H5DataSet.cpp b/c++/src/H5DataSet.cpp index 0374d95..717ef88 100644 --- a/c++/src/H5DataSet.cpp +++ b/c++/src/H5DataSet.cpp @@ -63,6 +63,7 @@ DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID) {} DataSet::DataSet(const hid_t existing_id) : H5Object(), AbstractDs() { id = existing_id; + incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- @@ -137,7 +138,8 @@ DataSpace DataSet::getSpace() const throw DataSetIException("DataSet::getSpace", "H5Dget_space failed"); } //create dataspace object using the existing id then return the object - DataSpace data_space( dataspace_id ); + DataSpace data_space; + f_DataSpace_setId(&data_space, dataspace_id); return( data_space ); } @@ -170,8 +172,8 @@ DSetCreatPropList DataSet::getCreatePlist() const throw DataSetIException("DataSet::getCreatePlist", "H5Dget_create_plist failed"); } // create and return the DSetCreatPropList object - DSetCreatPropList create_plist( create_plist_id ); - return( create_plist ); + DSetCreatPropList create_plist(create_plist_id); // ok to use existing id const + return(create_plist); } //-------------------------------------------------------------------------- |