Create correct node after image file drag&drop for Blender Render
This commit is contained in:
parent
d0253b2ea4
commit
8563d3b254
@ -44,6 +44,8 @@
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_node.h"
|
||||
#include "BKE_report.h"
|
||||
#include "BKE_scene.h"
|
||||
#include "BKE_texture.h"
|
||||
|
||||
#include "ED_node.h" /* own include */
|
||||
#include "ED_screen.h"
|
||||
@ -312,7 +314,10 @@ static int node_add_file_exec(bContext *C, wmOperator *op)
|
||||
|
||||
switch (snode->nodetree->type) {
|
||||
case NTREE_SHADER:
|
||||
type = SH_NODE_TEX_IMAGE;
|
||||
if (BKE_scene_use_new_shading_nodes(CTX_data_scene(C)))
|
||||
type = SH_NODE_TEX_IMAGE;
|
||||
else
|
||||
type = SH_NODE_TEXTURE;
|
||||
break;
|
||||
case NTREE_TEXTURE:
|
||||
type = TEX_NODE_IMAGE;
|
||||
@ -333,7 +338,14 @@ static int node_add_file_exec(bContext *C, wmOperator *op)
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
node->id = (ID *)ima;
|
||||
if (type == SH_NODE_TEXTURE) {
|
||||
Tex *tex = BKE_texture_add(CTX_data_main(C), DATA_(ima->id.name));
|
||||
tex->ima = ima;
|
||||
node->id = (ID *)tex;
|
||||
WM_event_add_notifier(C, NC_TEXTURE | NA_ADDED, node->id);
|
||||
}
|
||||
else
|
||||
node->id = (ID *)ima;
|
||||
|
||||
/* When adding new image file via drag-drop we need to load imbuf in order
|
||||
* to get proper image source.
|
||||
|
Loading…
Reference in New Issue
Block a user