[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60114] trunk/blender/source/blender/ compositor/intern/COM_ExecutionGroup.cpp: Fix for #36720 and #36721.
Lukas Toenne
lukas.toenne at googlemail.com
Fri Sep 13 18:01:42 CEST 2013
Revision: 60114
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60114
Author: lukastoenne
Date: 2013-09-13 16:01:41 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
Fix for #36720 and #36721.
This was own error in r60049 which fixed chunk number calculation. This was mixing int and unsigned int values from ExecutionGroup, which leads to huge chunk numbers which are then skipped.
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60049
Modified Paths:
--------------
trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp
Modified: trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp 2013-09-13 15:41:18 UTC (rev 60113)
+++ trunk/blender/source/blender/compositor/intern/COM_ExecutionGroup.cpp 2013-09-13 16:01:41 UTC (rev 60114)
@@ -525,14 +525,18 @@
// determine minxchunk, minychunk, maxxchunk, maxychunk where x and y are chunknumbers
int indexx, indexy;
- int minxchunk = (area->xmin - m_viewerBorder.xmin) / m_chunkSize;
- int maxxchunk = (area->xmax + m_chunkSize - 1) / m_chunkSize;
- int minychunk = (area->ymin - m_viewerBorder.ymin) / m_chunkSize;
- int maxychunk = (area->ymax + m_chunkSize - 1) / m_chunkSize;
+ int minx = max_ii(area->xmin - m_viewerBorder.xmin, 0);
+ int maxx = min_ii(area->xmax - m_viewerBorder.xmin, m_viewerBorder.xmax - m_viewerBorder.xmin);
+ int miny = max_ii(area->ymin - m_viewerBorder.ymin, 0);
+ int maxy = min_ii(area->ymax - m_viewerBorder.ymin, m_viewerBorder.ymax - m_viewerBorder.ymin);
+ int minxchunk = minx / (int)m_chunkSize;
+ int maxxchunk = (maxx + (int)m_chunkSize - 1) / (int)m_chunkSize;
+ int minychunk = miny / (int)m_chunkSize;
+ int maxychunk = (maxy + (int)m_chunkSize - 1) / (int)m_chunkSize;
minxchunk = max_ii(minxchunk, 0);
minychunk = max_ii(minychunk, 0);
- maxxchunk = min_ii(maxxchunk, m_numberOfXChunks);
- maxychunk = min_ii(maxychunk, m_numberOfYChunks);
+ maxxchunk = min_ii(maxxchunk, (int)m_numberOfXChunks);
+ maxychunk = min_ii(maxychunk, (int)m_numberOfYChunks);
bool result = true;
for (indexx = minxchunk; indexx < maxxchunk; indexx++) {
More information about the Bf-blender-cvs
mailing list