[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34402] trunk/blender/source/blender/ editors/interface: Bugfix #25720

Ton Roosendaal ton at blender.org
Wed Jan 19 18:10:06 CET 2011


Revision: 34402
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34402
Author:   ton
Date:     2011-01-19 17:10:05 +0000 (Wed, 19 Jan 2011)
Log Message:
-----------
Bugfix #25720

Preview icons got lost... commit of yesterday caused it.
Conflict between preview render icons, and brush icons...

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_icons.c
    trunk/blender/source/blender/editors/interface/interface_intern.h

Modified: trunk/blender/source/blender/editors/interface/interface_icons.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_icons.c	2011-01-19 14:19:20 UTC (rev 34401)
+++ trunk/blender/source/blender/editors/interface/interface_icons.c	2011-01-19 17:10:05 UTC (rev 34402)
@@ -1001,17 +1001,35 @@
 	}
 }
 
-void ui_id_icon_render(bContext *C, ID *id, int UNUSED(preview))
+void ui_id_icon_render(bContext *C, ID *id, int big)
 {
 	PreviewImage *pi = BKE_previewimg_get(id); 
+	
+	if (pi) {			
+		if ((pi->changed[0] ||!pi->rect[0])) /* changed only ever set by dynamic icons */
+		{
+			/* create the rect if necessary */				
+			
+			icon_set_image(C, id, pi, 0);		/* icon size */
+			if (big)
+				icon_set_image(C, id, pi, 1);	/* bigger preview size */
+			
+			pi->changed[0] = 0;
+		}
+	}
+}
+
+void ui_id_brush_render(bContext *C, ID *id)
+{
+	PreviewImage *pi = BKE_previewimg_get(id); 
 	int i;
-		
+	
 	if(!pi)
 		return;
-
+	
 	for(i = 0; i < PREVIEW_MIPMAPS; i++) {
-		/* check if preview rect needs to be created; changed
-		   only set by dynamic icons */
+		/* check if rect needs to be created; changed
+		 only set by dynamic icons */
 		if((pi->changed[i] || !pi->rect[i])) {
 			icon_set_image(C, id, pi, i);
 			pi->changed[i] = 0;
@@ -1019,13 +1037,14 @@
 	}
 }
 
-static int ui_id_brush_get_icon(bContext *C, ID *id, int preview)
+
+static int ui_id_brush_get_icon(bContext *C, ID *id)
 {
 	Brush *br = (Brush*)id;
 
 	if(br->flag & BRUSH_CUSTOM_ICON) {
 		BKE_icon_getid(id);
-		ui_id_icon_render(C, id, preview);
+		ui_id_brush_render(C, id);
 	}
 	else {
 		Object *ob = CTX_data_active_object(C);
@@ -1071,7 +1090,7 @@
 	return id->icon_id;
 }
 
-int ui_id_icon_get(bContext *C, ID *id, int preview)
+int ui_id_icon_get(bContext *C, ID *id, int big)
 {
 	int iconid= 0;
 	
@@ -1079,7 +1098,7 @@
 	switch(GS(id->name))
 	{
 		case ID_BR:
-			iconid= ui_id_brush_get_icon(C, id, preview);
+			iconid= ui_id_brush_get_icon(C, id);
 			break;
 		case ID_MA: /* fall through */
 		case ID_TE: /* fall through */
@@ -1088,7 +1107,7 @@
 		case ID_LA: /* fall through */
 			iconid= BKE_icon_getid(id);
 			/* checks if not exists, or changed */
-			ui_id_icon_render(C, id, preview);
+			ui_id_icon_render(C, id, big);
 			break;
 		default:
 			break;

Modified: trunk/blender/source/blender/editors/interface/interface_intern.h
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_intern.h	2011-01-19 14:19:20 UTC (rev 34401)
+++ trunk/blender/source/blender/editors/interface/interface_intern.h	2011-01-19 17:10:05 UTC (rev 34402)
@@ -479,7 +479,6 @@
 void uiStyleInit(void);
 
 /* interface_icons.c */
-void ui_id_icon_render(struct bContext *C, struct ID *id, int preview);
 int ui_id_icon_get(struct bContext *C, struct ID *id, int preview);
 
 /* resources.c */




More information about the Bf-blender-cvs mailing list