mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Tables: Fixed three bugs + metrics tweaks.
- Fixed bug when ending a table within another (outer table column offset was overwritten instead of restored). - Fixed assert when settings data has mismatching column count. - Fixed restoring g.CurrentTable when calling EndChild() from inside table inner window. - Made inactive tables grey in metrics. - Fix warning. (amended twice)
This commit is contained in:
		| @@ -542,7 +542,7 @@ struct ImSpanAllocator | ||||
|     int     Offsets[CHUNKS]; | ||||
|  | ||||
|     ImSpanAllocator()                               { memset(this, 0, sizeof(*this)); } | ||||
|     inline void  ReserveBytes(int n, size_t sz)     { IM_ASSERT(n == CurrSpan && n < CHUNKS); Offsets[CurrSpan++] = TotalSize; TotalSize += (int)sz; } | ||||
|     inline void  ReserveBytes(int n, size_t sz)     { IM_ASSERT(n == CurrSpan && n < CHUNKS); IM_UNUSED(n); Offsets[CurrSpan++] = TotalSize; TotalSize += (int)sz; } | ||||
|     inline int   GetArenaSizeInBytes()              { return TotalSize; } | ||||
|     inline void  SetArenaBasePtr(void* base_ptr)    { BasePtr = (char*)base_ptr; } | ||||
|     inline void* GetSpanPtrBegin(int n)             { IM_ASSERT(n >= 0 && n < CHUNKS && CurrSpan == CHUNKS); return (void*)(BasePtr + Offsets[n]); } | ||||
| @@ -2004,6 +2004,7 @@ struct ImGuiTable | ||||
|     ImRect                      HostBackupParentWorkRect;   // Backup of InnerWindow->ParentWorkRect at the end of BeginTable() | ||||
|     ImRect                      HostBackupClipRect;         // Backup of InnerWindow->ClipRect during PushTableBackground()/PopTableBackground() | ||||
|     ImVec2                      HostCursorMaxPos;           // Backup of InnerWindow->DC.CursorMaxPos at the end of BeginTable() | ||||
|     ImVec1                      HostBackupColumnsOffset;    // Backup of OuterWindow->ColumnsOffset at the end of BeginTable() | ||||
|     ImGuiWindow*                OuterWindow;                // Parent window for the table | ||||
|     ImGuiWindow*                InnerWindow;                // Window holding the table data (== OuterWindow or a child window) | ||||
|     ImGuiTextBuffer             ColumnsNames;               // Contiguous buffer holding columns names | ||||
|   | ||||
		Reference in New Issue
	
	Block a user