[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47823] trunk/blender/intern/cycles/ blender/blender_camera.cpp: Fix cycles crash when viewport camera border goes out of view.
Brecht Van Lommel
brechtvanlommel at pandora.be
Wed Jun 13 13:25:37 CEST 2012
Revision: 47823
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47823
Author: blendix
Date: 2012-06-13 11:25:36 +0000 (Wed, 13 Jun 2012)
Log Message:
-----------
Fix cycles crash when viewport camera border goes out of view.
Modified Paths:
--------------
trunk/blender/intern/cycles/blender/blender_camera.cpp
Modified: trunk/blender/intern/cycles/blender/blender_camera.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_camera.cpp 2012-06-13 11:25:22 UTC (rev 47822)
+++ trunk/blender/intern/cycles/blender/blender_camera.cpp 2012-06-13 11:25:36 UTC (rev 47823)
@@ -485,10 +485,10 @@
bcam->border_top = tmp_bottom + bcam->border_top*(tmp_top - tmp_bottom);
/* clamp */
- bcam->border_left = max(bcam->border_left, 0.0f);
- bcam->border_right = min(bcam->border_right, 1.0f);
- bcam->border_bottom = max(bcam->border_bottom, 0.0f);
- bcam->border_top = min(bcam->border_top, 1.0f);
+ bcam->border_left = clamp(bcam->border_left, 0.0f, 1.0f);
+ bcam->border_right = clamp(bcam->border_right, 0.0f, 1.0f);
+ bcam->border_bottom = clamp(bcam->border_bottom, 0.0f, 1.0f);
+ bcam->border_top = clamp(bcam->border_top, 0.0f, 1.0f);
}
void BlenderSync::sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height)
@@ -514,6 +514,10 @@
params.full_y = cam->border_bottom*height;
params.width = (int)(cam->border_right*width) - params.full_x;
params.height = (int)(cam->border_top*height) - params.full_y;
+
+ /* survive in case border goes out of view or becomes too small */
+ params.width = max(params.width, 1);
+ params.height = max(params.height, 1);
}
else {
params.width = width;
More information about the Bf-blender-cvs
mailing list