Fix destructor premature call in memstack cpp api
This commit is contained in:
		
							parent
							
								
									9bb8efcf9d
								
							
						
					
					
						commit
						3d61d66388
					
				
							
								
								
									
										8
									
								
								dqn.h
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								dqn.h
									
									
									
									
									
								
							| @ -66,7 +66,7 @@ | |||||||
| 	#define DQN_UNIX_PLATFORM | 	#define DQN_UNIX_PLATFORM | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifdef __cplusplus | #if defined(__cplusplus) | ||||||
| 	#define DQN_CPP_MODE | 	#define DQN_CPP_MODE | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| @ -233,7 +233,7 @@ typedef struct DqnMemStack | |||||||
| 	void                         TempRegionEnd  (DqnMemStackTempRegion region); | 	void                         TempRegionEnd  (DqnMemStackTempRegion region); | ||||||
| 
 | 
 | ||||||
| 	// Scoped Temporary Regions API
 | 	// Scoped Temporary Regions API
 | ||||||
| 	struct DqnMemStackTempRegionScoped TempRegionScoped(bool *const succeeded); | 	struct DqnMemStackTempRegionScoped TempRegionScoped(); | ||||||
| 
 | 
 | ||||||
| 	// Advanced API
 | 	// Advanced API
 | ||||||
| 	DqnMemStackBlock *AllocateCompatibleBlock(size_t size); | 	DqnMemStackBlock *AllocateCompatibleBlock(size_t size); | ||||||
| @ -1734,7 +1734,9 @@ DqnMemStackTempRegion DqnMemStack::TempRegionBegin() | |||||||
| 	return result; | 	return result; | ||||||
| } | } | ||||||
| void DqnMemStack::TempRegionEnd(DqnMemStackTempRegion region) { DqnMemStackTempRegion_End(region); } | void DqnMemStack::TempRegionEnd(DqnMemStackTempRegion region) { DqnMemStackTempRegion_End(region); } | ||||||
| DqnMemStackTempRegionScoped DqnMemStack::TempRegionScoped(bool *const succeeded)     { return DqnMemStackTempRegionScoped(this, succeeded); } | 
 | ||||||
|  | // NOTE: Guaranteed to always succeed. Fails when arguments are invalid, like a NULL ptr which is impossible here.
 | ||||||
|  | DqnMemStackTempRegionScoped DqnMemStack::TempRegionScoped() { return DqnMemStackTempRegionScoped(this, NULL); } | ||||||
| 
 | 
 | ||||||
| DqnMemStackBlock *DqnMemStack::AllocateCompatibleBlock(size_t size)                          { return DqnMemStack_AllocateCompatibleBlock(this, size);        } | DqnMemStackBlock *DqnMemStack::AllocateCompatibleBlock(size_t size)                          { return DqnMemStack_AllocateCompatibleBlock(this, size);        } | ||||||
| bool              DqnMemStack::AttachBlock            (DqnMemStackBlock *const newBlock)     { return DqnMemStack_AttachBlock            (this, newBlock);    } | bool              DqnMemStack::AttachBlock            (DqnMemStackBlock *const newBlock)     { return DqnMemStack_AttachBlock            (this, newBlock);    } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user