[Bf-blender-cvs] [fc51e04] particles_refactor: Fix for paged buffer iterator, can be constructed for a buffer without any pages.

Lukas Tönne noreply at git.blender.org
Tue Apr 22 12:05:36 CEST 2014


Commit: fc51e04aecebac79cc287023eb883527e1b550c2
Author: Lukas Tönne
Date:   Thu Dec 12 12:26:11 2013 +0100
https://developer.blender.org/rBfc51e04aecebac79cc287023eb883527e1b550c2

Fix for paged buffer iterator, can be constructed for a buffer without
any pages.

===================================================================

M	source/blender/blenlib/intern/pagedbuffer.c

===================================================================

diff --git a/source/blender/blenlib/intern/pagedbuffer.c b/source/blender/blenlib/intern/pagedbuffer.c
index b43426d..11369c4 100644
--- a/source/blender/blenlib/intern/pagedbuffer.c
+++ b/source/blender/blenlib/intern/pagedbuffer.c
@@ -194,13 +194,15 @@ void *BLI_pbuf_get(bPagedBuffer *pbuf, int index)
 void BLI_pbuf_iter_init(bPagedBuffer *pbuf, bPagedBufferIterator *iter)
 {
 	iter->index = 0;
-	iter->page = pbuf->pages;
-	iter->page_index = 0;
-	while (iter->page->data == NULL && iter->index < pbuf->totelem) {
-		iter->index += pbuf->page_size;
-		++iter->page;
+	if (pbuf->pages) {
+		iter->page = pbuf->pages;
+		iter->page_index = 0;
+		while (iter->page->data == NULL && iter->index < pbuf->totelem) {
+			iter->index += pbuf->page_size;
+			++iter->page;
+		}
+		iter->data = iter->page->data;
 	}
-	iter->data = iter->page->data;
 }
 
 void BLI_pbuf_iter_next(bPagedBuffer *pbuf, bPagedBufferIterator *iter)




More information about the Bf-blender-cvs mailing list