2.5
Scene toolsettings was not setting Brush pointers on read, causing crashes on reading files. Thanks Jingyuan for (irc) report! :)
This commit is contained in:
@@ -3827,12 +3827,19 @@ static void lib_link_scene(FileData *fd, Main *main)
|
||||
sce->world= newlibadr_us(fd, sce->id.lib, sce->world);
|
||||
sce->set= newlibadr(fd, sce->id.lib, sce->set);
|
||||
sce->ima= newlibadr_us(fd, sce->id.lib, sce->ima);
|
||||
|
||||
sce->toolsettings->imapaint.brush=
|
||||
newlibadr_us(fd, sce->id.lib, sce->toolsettings->imapaint.brush);
|
||||
if(sce->toolsettings->sculpt)
|
||||
sce->toolsettings->sculpt->brush=
|
||||
newlibadr_us(fd, sce->id.lib, sce->toolsettings->sculpt->brush);
|
||||
|
||||
if(sce->toolsettings->vpaint)
|
||||
sce->toolsettings->vpaint->brush=
|
||||
newlibadr_us(fd, sce->id.lib, sce->toolsettings->vpaint->brush);
|
||||
if(sce->toolsettings->wpaint)
|
||||
sce->toolsettings->wpaint->brush=
|
||||
newlibadr_us(fd, sce->id.lib, sce->toolsettings->wpaint->brush);
|
||||
|
||||
sce->toolsettings->skgen_template = newlibadr(fd, sce->id.lib, sce->toolsettings->skgen_template);
|
||||
|
||||
for(base= sce->base.first; base; base= next) {
|
||||
|
||||
@@ -1157,11 +1157,13 @@ static void view3d_panel_brush(const bContext *C, Panel *pa)
|
||||
cy-= 20;
|
||||
uiBlockEndAlign(block);
|
||||
|
||||
rect.xmin= cx; rect.xmax= cx + w;
|
||||
rect.ymin= cy - 200; rect.ymax= cy;
|
||||
uiBlockBeginAlign(block);
|
||||
curvemap_buttons(block, br->curve, (char)0, B_NOP, 0, &rect);
|
||||
uiBlockEndAlign(block);
|
||||
if(br->curve) {
|
||||
rect.xmin= cx; rect.xmax= cx + w;
|
||||
rect.ymin= cy - 200; rect.ymax= cy;
|
||||
uiBlockBeginAlign(block);
|
||||
curvemap_buttons(block, br->curve, (char)0, B_NOP, 0, &rect);
|
||||
uiBlockEndAlign(block);
|
||||
}
|
||||
}
|
||||
|
||||
static void sculptmode_draw_interface_tools(Scene *scene, uiBlock *block, unsigned short cx, unsigned short cy)
|
||||
|
||||
Reference in New Issue
Block a user