[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