[Bf-blender-cvs] [beb93cd] wiggly-widgets: Merge branch 'master' into wiggly-widgets

Julian Eisel noreply at git.blender.org
Thu Nov 12 22:02:22 CET 2015


Commit: beb93cd2dc8a7681fdccec9f1aca09815e91e01f
Author: Julian Eisel
Date:   Thu Nov 12 21:40:57 2015 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBbeb93cd2dc8a7681fdccec9f1aca09815e91e01f

Merge branch 'master' into wiggly-widgets

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



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

diff --cc source/blender/blenkernel/intern/object.c
index 91ead3e,b305387..69455fd
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@@ -422,12 -425,12 +427,14 @@@ void BKE_object_free_ex(Object *ob, boo
  	if (ob->bb) MEM_freeN(ob->bb); 
  	ob->bb = NULL;
  	if (ob->adt) BKE_animdata_free((ID *)ob);
- 	if (ob->poselib) ob->poselib->id.us--;
- 	if (ob->gpd) ((ID *)ob->gpd)->us--;
+ 	if (ob->poselib)
+ 		id_us_min(&ob->poselib->id);
+ 	if (ob->gpd)
+ 		id_us_min(&ob->gpd->id);
  	if (ob->defbase.first)
  		BLI_freelistN(&ob->defbase);
 +	if (ob->fmaps.first)
 +		BLI_freelistN(&ob->fmaps);
  	if (ob->pose)
  		BKE_pose_free_ex(ob->pose, do_id_user);
  	if (ob->mpath)
diff --cc source/blender/editors/screen/area.c
index 43b71af,574ae57..0230146
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@@ -2368,47 -2360,6 +2368,48 @@@ void ED_region_grid_draw(ARegion *ar, f
  	glEnd();
  }
  
 +/* uses the viewplane from the given camera and draws it as a backdrop */
 +void ED_region_draw_backdrop_view3d(const bContext *C, struct Object *camera, const float alpha,
 +                                    const float width, const float height, const float x, const float y,
 +                                    const float zoomx, const float zoomy, const bool draw_background)
 +{
 +	Main *bmain = CTX_data_main(C);
 +	Scene *scene = CTX_data_scene(C);
 +	char err_out[256] = "unknown";
 +	struct ImBuf *ibuf;
 +
 +	BKE_scene_update_for_newframe(bmain->eval_ctx, bmain, scene, scene->lay);
 +	ibuf = ED_view3d_draw_offscreen_imbuf_simple(scene, camera, width, height, IB_rect,
 +	                                             OB_SOLID, false, false, false,
- 	                                             R_ADDSKY, 0, NULL, NULL, err_out);
++	                                             R_ADDSKY, 0, (scene->r.scemode & R_FULL_SAMPLE),
++	                                             NULL, NULL, NULL, err_out);
 +
 +	if (ibuf == NULL)
 +		return;
 +
 +	glEnable(GL_BLEND);
 +	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 +	glPushMatrix();
 +	glScalef(zoomx, zoomy, 0.0f);
 +	glTranslatef(x, y, 0.0f);
 +
 +	/* draw background */
 +	if (draw_background) {
 +		char col[4];
 +
 +		UI_GetThemeColorType4ubv(TH_HIGH_GRAD, SPACE_VIEW3D, col);
 +		glColor4ub(UNPACK3(col), alpha * 255);
 +		glRectf(0, 0, width, height);
 +	}
 +	/* draw the imbuf itself */
 +	glaDrawImBuf_glsl_ctx(C, ibuf, 0.0f, 0.0f, GL_NEAREST, alpha);
 +
 +	glPopMatrix();
 +	glDisable(GL_BLEND);
 +
 +	IMB_freeImBuf(ibuf);
 +}
 +
  /* If the area has overlapping regions, it returns visible rect for Region *ar */
  /* rect gets returned in local region coordinates */
  void ED_region_visible_rect(ARegion *ar, rcti *rect)




More information about the Bf-blender-cvs mailing list