[Bf-blender-cvs] [d7fa0fc] wiggly-widgets: More info for widget undo push string

2014-11-19 Thread Antony Riakiotakis
Commit: d7fa0fcaae139f0e24e9682d3ae4be0f242250ac
Author: Antony Riakiotakis
Date:   Mon Nov 17 18:48:37 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBd7fa0fcaae139f0e24e9682d3ae4be0f242250ac

More info for widget undo push string

===

M   source/blender/windowmanager/intern/wm_widgets.c

===

diff --git a/source/blender/windowmanager/intern/wm_widgets.c 
b/source/blender/windowmanager/intern/wm_widgets.c
index 2443d19..daeef99 100644
--- a/source/blender/windowmanager/intern/wm_widgets.c
+++ b/source/blender/windowmanager/intern/wm_widgets.c
@@ -652,7 +652,9 @@ void wm_widgetmap_set_active_widget(struct wmWidgetMap 
*wmap, struct bContext *C
widget-ptr = NULL;
}
else if (widget-prop) {
-   ED_undo_push(C, widget_undo);
+   char undo_str[256];
+   BLI_snprintf(undo_str, 256, widget_undo: %s, 
RNA_property_ui_name(widget-prop));
+   ED_undo_push(C, undo_str);
}
}

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [36f18cd] wiggly-widgets: Arrow widget interaction:

2014-11-19 Thread Antony Riakiotakis
Commit: 36f18cd35c40eb5f6e6fc03c4f53dd02ee179b5c
Author: Antony Riakiotakis
Date:   Wed Nov 19 12:32:21 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB36f18cd35c40eb5f6e6fc03c4f53dd02ee179b5c

Arrow widget interaction:

Fix interaction when pivot is beside the camera. basically we now do all
calculations in 3D space and we do not scale correct the offset in 3D -
this creates a nasty dependency loop between drawing and calculation for
widgets bound to properties - ie offset depends on scale but scale
depends on screen position - ie offset.

Also added an extra callback to get the final position of the widget in
3d space and use that to calculate the scale. This takes care of
bringing a close to the camera widget to the background and the widget
keeping its initial size. The final position can be different from the
initial position, especially when the widget is offset from the original
position.

===

M   source/blender/editors/space_view3d/space_view3d.c
M   source/blender/windowmanager/WM_api.h
M   source/blender/windowmanager/intern/wm_generic_widgets.c
M   source/blender/windowmanager/intern/wm_widgets.c
M   source/blender/windowmanager/wm.h

===

diff --git a/source/blender/editors/space_view3d/space_view3d.c 
b/source/blender/editors/space_view3d/space_view3d.c
index 9f03741..15c4516 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -735,7 +735,7 @@ static void WIDGETGROUP_camera_create(struct wmWidgetGroup 
*wgroup)
wmWidget *widget = NULL;
PointerRNA *cameraptr = MEM_callocN(sizeof(PointerRNA), 
camerawidgetptr);
 
-   widget = WIDGET_arrow_new(UI_ARROW_STYLE_OFFSET_3D, NULL);
+   widget = WIDGET_arrow_new(0, NULL);
WM_widget_register(wgroup, widget);
WIDGET_arrow_set_color(widget, color_camera);
 
diff --git a/source/blender/windowmanager/WM_api.h 
b/source/blender/windowmanager/WM_api.h
index 06f491a..ffc7850 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -518,8 +518,6 @@ enum {
UI_ARROW_STYLE_INVERTED  = (1  2),
/* clamp arrow interaction to property width */
UI_ARROW_STYLE_CONSTRAINED   = (1  3),
-   /* force offset to be in 3D space, even if widget system is not 3D */
-   UI_ARROW_STYLE_OFFSET_3D   = (1  4),
 };
 
 enum {
diff --git a/source/blender/windowmanager/intern/wm_generic_widgets.c 
b/source/blender/windowmanager/intern/wm_generic_widgets.c
index e813d6c..278e1d6 100644
--- a/source/blender/windowmanager/intern/wm_generic_widgets.c
+++ b/source/blender/windowmanager/intern/wm_generic_widgets.c
@@ -150,11 +150,22 @@ typedef struct ArrowInteraction {
float orig_origin[3];
float orig_mouse[2];
float orig_offset;
+   float orig_scale;
 
/* direction vector, projected in screen space */
float proj_direction[2];
 } ArrowInteraction;
 
+
+static void widget_arrow_get_final_pos(struct wmWidget *widget, float pos[3])
+{
+   ArrowWidget *arrow = (ArrowWidget *)widget;
+
+   mul_v3_v3fl(pos, arrow-direction, arrow-offset);
+   add_v3_v3(pos, arrow-widget.origin);
+}
+
+
 static void arrow_draw_intern(ArrowWidget *arrow, bool select, bool highlight, 
float scale)
 {
float rot[3][3];
@@ -162,11 +173,7 @@ static void arrow_draw_intern(ArrowWidget *arrow, bool 
select, bool highlight, f
float up[3] = {0.0f, 0.0f, 1.0f};
float final_pos[3];
 
-   if (arrow-style  UI_ARROW_STYLE_OFFSET_3D)
-   mul_v3_v3fl(final_pos, arrow-direction, arrow-offset);
-   else
-   mul_v3_v3fl(final_pos, arrow-direction, scale * arrow-offset);
-   add_v3_v3(final_pos, arrow-widget.origin);
+   widget_arrow_get_final_pos((wmWidget *)arrow, final_pos);
 
rotation_between_vecs_to_mat3(rot, up, arrow-direction);
copy_m4_m3(mat, rot);
@@ -188,15 +195,9 @@ static void arrow_draw_intern(ArrowWidget *arrow, bool 
select, bool highlight, f
if (arrow-widget.interaction_data) {
ArrowInteraction *data = arrow-widget.interaction_data;
 
-   if (arrow-style  UI_ARROW_STYLE_OFFSET_3D)
-   mul_v3_v3fl(final_pos, arrow-direction, 
data-orig_offset);
-   else
-   mul_v3_v3fl(final_pos, arrow-direction, scale * 
data-orig_offset);
-   add_v3_v3(final_pos, arrow-widget.origin);
-
copy_m4_m3(mat, rot);
-   copy_v3_v3(mat[3], final_pos);
-   mul_mat3_m4_fl(mat, scale);
+   copy_v3_v3(mat[3], data-orig_origin);
+   mul_mat3_m4_fl(mat, data-orig_scale);
 
glPushMatrix();
glMultMatrixf(mat[0][0]);
@@ -235,17 +236,19 @@ static int widget_arrow_handler(struct 

[Bf-blender-cvs] [48a61db] depsgraph_refactor: Merge branch 'master' into depsgraph_refactor

2014-11-19 Thread Sergey Sharybin
Commit: 48a61dbd0592eecd2a87667ca833510712268b02
Author: Sergey Sharybin
Date:   Wed Nov 19 16:35:31 2014 +0500
Branches: depsgraph_refactor
https://developer.blender.org/rB48a61dbd0592eecd2a87667ca833510712268b02

Merge branch 'master' into depsgraph_refactor

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [58f7e89] wiggly-widgets: Add flag so widgets only draw on mouse over.

2014-11-19 Thread Antony Riakiotakis
Commit: 58f7e89e392835de3df1d04ce7780684800ac38b
Author: Antony Riakiotakis
Date:   Wed Nov 19 13:03:30 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB58f7e89e392835de3df1d04ce7780684800ac38b

Add flag so widgets only draw on mouse over.

Camera widget now uses this, also now they only draw if limits is on.

===

M   source/blender/editors/space_view3d/space_view3d.c
M   source/blender/windowmanager/WM_api.h
M   source/blender/windowmanager/intern/wm_widgets.c
M   source/blender/windowmanager/wm.h

===

diff --git a/source/blender/editors/space_view3d/space_view3d.c 
b/source/blender/editors/space_view3d/space_view3d.c
index 15c4516..fb6d9d2 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -701,7 +701,8 @@ static bool WIDGETGROUP_camera_poll(struct wmWidgetGroup 
*UNUSED(wgroup), const
Object *ob = CTX_data_active_object(C);
 
if (ob  ob-type == OB_CAMERA) {
-   return true;
+   Camera *ca = ob-data;
+   return (ca-flag  CAM_SHOWLIMITS) != 0;
}
return false;
 }
@@ -716,6 +717,7 @@ static void WIDGETGROUP_camera_update(struct wmWidgetGroup 
*wgroup, const struct
 
RNA_pointer_create(ca-id, RNA_Camera, ca, cameraptr);
WM_widget_set_origin(widget, ob-obmat[3]);
+   WM_widget_set_draw_on_hover_only(widget, true);
WM_widget_property(widget, cameraptr, dof_distance);
negate_v3_v3(dir, ob-obmat[2]);
WIDGET_arrow_set_direction(widget, dir);
diff --git a/source/blender/windowmanager/WM_api.h 
b/source/blender/windowmanager/WM_api.h
index ffc7850..659ae02 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -494,6 +494,8 @@ void *WM_widget_customdata(struct wmWidget *widget);
 void WM_widget_set_origin(struct wmWidget *widget, float origin[3]);
 void WM_widget_set_draw(struct wmWidget *widget, bool draw);
 
+void WM_widget_set_draw_on_hover_only(struct wmWidget *widget, bool draw);
+
 void *WM_widgetgroup_customdata(struct wmWidgetGroup *wgroup);
 void WM_widgetgroup_customdata_set(struct wmWidgetGroup *wgroup, void *data);
 ListBase *WM_widgetgroup_widgets(struct wmWidgetGroup *wgroup);
diff --git a/source/blender/windowmanager/intern/wm_widgets.c 
b/source/blender/windowmanager/intern/wm_widgets.c
index 244f1d2..f6af313 100644
--- a/source/blender/windowmanager/intern/wm_widgets.c
+++ b/source/blender/windowmanager/intern/wm_widgets.c
@@ -291,7 +291,9 @@ void WM_widgets_draw(const struct bContext *C, struct 
ARegion *ar, bool is_3d)
}
 
for (widget_iter = wgroup-widgets.first; 
widget_iter; widget_iter = widget_iter-next) {
-   if (!(widget_iter-flag  
WM_WIDGET_SKIP_DRAW)) {
+   if (!(widget_iter-flag  
WM_WIDGET_SKIP_DRAW) 
+   (!(widget_iter-flag  
WM_WIDGET_DRAW_HOVER) || (widget_iter-flag  WM_WIDGET_HIGHLIGHT)))
+   {
float scale = 1.0;
 
if (do_scale) {
@@ -391,6 +393,16 @@ void WM_widget_set_draw(struct wmWidget *widget, bool draw)
}
 }
 
+void WM_widget_set_draw_on_hover_only(struct wmWidget *widget, bool draw)
+{
+   if (draw) {
+   widget-flag |= WM_WIDGET_DRAW_HOVER;
+   }
+   else {
+   widget-flag = ~WM_WIDGET_DRAW_HOVER;
+   }
+}
+
 
 wmWidgetMapType *WM_widgetmaptype_find(const char *idname, int spaceid, int 
regionid, bool is_3d)
 {
diff --git a/source/blender/windowmanager/wm.h 
b/source/blender/windowmanager/wm.h
index 656e401..07ae91d 100644
--- a/source/blender/windowmanager/wm.h
+++ b/source/blender/windowmanager/wm.h
@@ -114,6 +114,8 @@ enum widgetflags {
/* other stuff */
WM_WIDGET_FREE_DATA  = (1  2),
WM_WIDGET_SKIP_DRAW  = (1  3),
+
+   WM_WIDGET_DRAW_HOVER  = (1  4),
 };
 
 extern void wm_close_and_free(bContext *C, wmWindowManager *);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fbd4dfb] master: Graph Editor: H/Shift-H now hide and unhide selected curves (Gooseberry Request)

2014-11-19 Thread Joshua Leung
Commit: fbd4dfb2c6435ca095fe64d2fbd76abdb9f550f9
Author: Joshua Leung
Date:   Thu Nov 20 02:24:42 2014 +1300
Branches: master
https://developer.blender.org/rBfbd4dfb2c6435ca095fe64d2fbd76abdb9f550f9

Graph Editor: H/Shift-H now hide and unhide selected curves (Gooseberry Request)

Revised the tools for managing which FCurves are visible in the Graph Editor
curves area. Now, there are the following tools in place:
* V (channels region only) = Hide all curves except those in selected channels  
[OLD]

* H   = Hide all selected curves  [NEW]
* Shift-H = Show all previously hidden curves [NEW]

I've removed the old operator to toggle visibility status of selected curves,
as it doesn't seem that useful anymore.

===

M   release/scripts/startup/bl_ui/space_graph.py
M   source/blender/editors/animation/anim_channels_edit.c
M   source/blender/editors/space_graph/graph_ops.c

===

diff --git a/release/scripts/startup/bl_ui/space_graph.py 
b/release/scripts/startup/bl_ui/space_graph.py
index 6fc3d9e..a815540 100644
--- a/release/scripts/startup/bl_ui/space_graph.py
+++ b/release/scripts/startup/bl_ui/space_graph.py
@@ -189,6 +189,8 @@ class GRAPH_MT_channel(Menu):
 
 layout.separator()
 layout.operator(anim.channels_editable_toggle)
+layout.operator(graph.hide)
+layout.operator(graph.unhide)
 layout.operator(anim.channels_visibility_set)
 layout.operator_menu_enum(graph.extrapolation_type, type, 
text=Extrapolation Mode)
 
diff --git a/source/blender/editors/animation/anim_channels_edit.c 
b/source/blender/editors/animation/anim_channels_edit.c
index b6ab040..33c9aab 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1665,7 +1665,7 @@ static int animchannels_visibility_set_exec(bContext *C, 
wmOperator *UNUSED(op))
 static void ANIM_OT_channels_visibility_set(wmOperatorType *ot)
 {
/* identifiers */
-   ot-name = Set Visibility;
+   ot-name = Show Selected Curves Only;
ot-idname = ANIM_OT_channels_visibility_set;
ot-description = Make only the selected animation channels visible in 
the Graph Editor;

@@ -1677,83 +1677,6 @@ static void 
ANIM_OT_channels_visibility_set(wmOperatorType *ot)
ot-flag = OPTYPE_REGISTER | OPTYPE_UNDO;
 }
 
-
-/*  Toggle Channel Visibility Operator 
*** */
-/* NOTE: this operator is only valid in the Graph Editor channels region */
-
-static int animchannels_visibility_toggle_exec(bContext *C, wmOperator 
*UNUSED(op))
-{
-   bAnimContext ac;
-   ListBase anim_data = {NULL, NULL};
-   ListBase all_data = {NULL, NULL};
-   bAnimListElem *ale;
-   int filter;
-   short vis = ACHANNEL_SETFLAG_ADD;
-   
-   /* get editor data */
-   if (ANIM_animdata_get_context(C, ac) == 0)
-   return OPERATOR_CANCELLED;
-   
-   /* get list of all channels that selection may need to be flushed to 
-* - hierarchy mustn't affect what we have access to here...
-*/
-   filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | 
ANIMFILTER_NODUPLIS);
-   ANIM_animdata_filter(ac, all_data, filter, ac.data, ac.datatype);
-   
-   /* filter data
-* - restrict this to only applying on settings we can get to in the 
list
-*/
-   filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | 
ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
-   ANIM_animdata_filter(ac, anim_data, filter, ac.data, ac.datatype);
-   
-   /* See if we should be making showing all selected or hiding */
-   for (ale = anim_data.first; ale; ale = ale-next) {
-   /* set the setting in the appropriate way (if available) */
-   if (ANIM_channel_setting_get(ac, ale, 
ACHANNEL_SETTING_VISIBLE)) {
-   vis = ACHANNEL_SETFLAG_CLEAR;
-   break;
-   }
-   }
-
-   /* Now set the flags */
-   for (ale = anim_data.first; ale; ale = ale-next) {
-   /* hack: skip object channels for now, since flushing those 
will always flush everything, but they are always included */
-   /* TODO: find out why this is the case, and fix that */
-   if (ale-type == ANIMTYPE_OBJECT)
-   continue;
-   
-   /* change the setting */
-   ANIM_channel_setting_set(ac, ale, ACHANNEL_SETTING_VISIBLE, 
vis);
-   
-   /* now, also flush selection status up/down as appropriate */
-   ANIM_flush_setting_anim_channels(ac, all_data, ale, 
ACHANNEL_SETTING_VISIBLE, (vis == ACHANNEL_SETFLAG_ADD));
-   }
-   
-   /* cleanup */
-   ANIM_animdata_freelist(anim_data);
-   

[Bf-blender-cvs] [2ad6143] master: Cleanup: name hide/reveal, like rest of operators

2014-11-19 Thread Campbell Barton
Commit: 2ad61438d8a8e7bb5e03b89f8ba0863cdfa028ea
Author: Campbell Barton
Date:   Wed Nov 19 14:35:00 2014 +0100
Branches: master
https://developer.blender.org/rB2ad61438d8a8e7bb5e03b89f8ba0863cdfa028ea

Cleanup: name hide/reveal, like rest of operators

===

M   release/scripts/startup/bl_ui/space_graph.py
M   source/blender/editors/space_graph/graph_ops.c

===

diff --git a/release/scripts/startup/bl_ui/space_graph.py 
b/release/scripts/startup/bl_ui/space_graph.py
index a815540..cb5926b 100644
--- a/release/scripts/startup/bl_ui/space_graph.py
+++ b/release/scripts/startup/bl_ui/space_graph.py
@@ -190,7 +190,7 @@ class GRAPH_MT_channel(Menu):
 layout.separator()
 layout.operator(anim.channels_editable_toggle)
 layout.operator(graph.hide)
-layout.operator(graph.unhide)
+layout.operator(graph.reveal)
 layout.operator(anim.channels_visibility_set)
 layout.operator_menu_enum(graph.extrapolation_type, type, 
text=Extrapolation Mode)
 
diff --git a/source/blender/editors/space_graph/graph_ops.c 
b/source/blender/editors/space_graph/graph_ops.c
index a4f5750..fe6d729 100644
--- a/source/blender/editors/space_graph/graph_ops.c
+++ b/source/blender/editors/space_graph/graph_ops.c
@@ -201,7 +201,7 @@ static void GRAPH_OT_cursor_set(wmOperatorType *ot)
RNA_def_float(ot-srna, value, 0, -FLT_MAX, FLT_MAX, Value, , 
-100.0f, 100.0f);
 }
 
-/* Hide/UnHide Curves 
- */
+/* Hide/Reveal  */
 
 static int graphview_curves_hide_exec(bContext *C, wmOperator *UNUSED(op))
 {
@@ -268,7 +268,7 @@ static void GRAPH_OT_hide(wmOperatorType *ot)
 
 /*  */
 
-static int graphview_curves_unhide_exec(bContext *C, wmOperator *UNUSED(op))
+static int graphview_curves_reveal_exec(bContext *C, wmOperator *UNUSED(op))
 {
bAnimContext ac;
ListBase anim_data = {NULL, NULL};
@@ -319,15 +319,15 @@ static int graphview_curves_unhide_exec(bContext *C, 
wmOperator *UNUSED(op))
return OPERATOR_FINISHED;
 }
 
-static void GRAPH_OT_unhide(wmOperatorType *ot)
+static void GRAPH_OT_reveal(wmOperatorType *ot)
 {
/* identifiers */
-   ot-name = Unhide Curves;
-   ot-idname = GRAPH_OT_unhide;
+   ot-name = Reveal Curves;
+   ot-idname = GRAPH_OT_reveal;
ot-description = Make previously hidden curves visible again in Graph 
Editor view;

/* api callbacks */
-   ot-exec = graphview_curves_unhide_exec;
+   ot-exec = graphview_curves_reveal_exec;
ot-poll = ED_operator_graphedit_active;

/* flags */
@@ -350,7 +350,7 @@ void graphedit_operatortypes(void)
WM_operatortype_append(GRAPH_OT_ghost_curves_clear);

WM_operatortype_append(GRAPH_OT_hide);
-   WM_operatortype_append(GRAPH_OT_unhide);
+   WM_operatortype_append(GRAPH_OT_reveal);

/* keyframes */
/* selection */
@@ -586,9 +586,9 @@ void graphedit_keymap(wmKeyConfig *keyconf)
/* find (i.e. a shortcut for setting the name filter) */
WM_keymap_add_item(keymap, ANIM_OT_channels_find, FKEY, KM_PRESS, 
KM_CTRL, 0);

-   /* hide/unhide selected curves */
+   /* hide/reveal selected curves */
WM_keymap_add_item(keymap, GRAPH_OT_hide, HKEY, KM_PRESS, 0, 0);
-   WM_keymap_add_item(keymap, GRAPH_OT_unhide, HKEY, KM_PRESS, KM_SHIFT, 
0);
+   WM_keymap_add_item(keymap, GRAPH_OT_reveal, HKEY, KM_PRESS, KM_SHIFT, 
0);


/* channels */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [793ed3f] master: Tweaks to hide/reveal hotkeys for Graph Editor

2014-11-19 Thread Joshua Leung
Commit: 793ed3fa74ded8545737910c5326024fe4775bfe
Author: Joshua Leung
Date:   Thu Nov 20 02:46:45 2014 +1300
Branches: master
https://developer.blender.org/rB793ed3fa74ded8545737910c5326024fe4775bfe

Tweaks to hide/reveal hotkeys for Graph Editor

Now the hotkeys here work in line with what's done for other parts of Blender
* H = Hide selected
* Shift-H = Hide unselected  (i.e. old VKEY behaviour)
* Alt-H = Reveal all

===

M   source/blender/editors/animation/anim_channels_edit.c
M   source/blender/editors/space_graph/graph_ops.c

===

diff --git a/source/blender/editors/animation/anim_channels_edit.c 
b/source/blender/editors/animation/anim_channels_edit.c
index 33c9aab..9a2235a 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -3034,7 +3034,7 @@ void ED_keymap_animchannels(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, ANIM_OT_channels_ungroup, GKEY, KM_PRESS, 
KM_ALT, 0);

/* Graph Editor only */
-   WM_keymap_add_item(keymap, ANIM_OT_channels_visibility_set, VKEY, 
KM_PRESS, 0, 0);
+   WM_keymap_add_item(keymap, ANIM_OT_channels_visibility_set, HKEY, 
KM_PRESS, KM_SHIFT, 0);
 }
 
 /* ** 
*/
diff --git a/source/blender/editors/space_graph/graph_ops.c 
b/source/blender/editors/space_graph/graph_ops.c
index fe6d729..bb041c5 100644
--- a/source/blender/editors/space_graph/graph_ops.c
+++ b/source/blender/editors/space_graph/graph_ops.c
@@ -588,7 +588,7 @@ void graphedit_keymap(wmKeyConfig *keyconf)

/* hide/reveal selected curves */
WM_keymap_add_item(keymap, GRAPH_OT_hide, HKEY, KM_PRESS, 0, 0);
-   WM_keymap_add_item(keymap, GRAPH_OT_reveal, HKEY, KM_PRESS, KM_SHIFT, 
0);
+   WM_keymap_add_item(keymap, GRAPH_OT_reveal, HKEY, KM_PRESS, KM_ALT, 
0);


/* channels */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cd54f07] master: Fix: Shift-H now works in main graph editor area too

2014-11-19 Thread Joshua Leung
Commit: cd54f07a3c71ba146542e41c7b3407b287b52b4c
Author: Joshua Leung
Date:   Thu Nov 20 03:07:09 2014 +1300
Branches: master
https://developer.blender.org/rBcd54f07a3c71ba146542e41c7b3407b287b52b4c

Fix: Shift-H now works in main graph editor area too

In the process, I've removed the old operator (ANIM_OT_channels_visibility_set)
and folded that option in with the hide operator, to make this consistent
with how this is done in the 3D view and other parts of Blender.

===

M   release/scripts/startup/bl_ui/space_graph.py
M   source/blender/editors/animation/anim_channels_edit.c
M   source/blender/editors/space_graph/graph_ops.c

===

diff --git a/release/scripts/startup/bl_ui/space_graph.py 
b/release/scripts/startup/bl_ui/space_graph.py
index cb5926b..5861bc0 100644
--- a/release/scripts/startup/bl_ui/space_graph.py
+++ b/release/scripts/startup/bl_ui/space_graph.py
@@ -189,12 +189,14 @@ class GRAPH_MT_channel(Menu):
 
 layout.separator()
 layout.operator(anim.channels_editable_toggle)
-layout.operator(graph.hide)
-layout.operator(graph.reveal)
-layout.operator(anim.channels_visibility_set)
 layout.operator_menu_enum(graph.extrapolation_type, type, 
text=Extrapolation Mode)
 
 layout.separator()
+layout.operator(graph.hide, text=Hide Selected Curves).unselected 
= False
+layout.operator(graph.hide, text=Hide Unselected 
Curves).unselected = True
+layout.operator(graph.reveal)
+
+layout.separator()
 layout.operator(anim.channels_expand)
 layout.operator(anim.channels_collapse)
 
diff --git a/source/blender/editors/animation/anim_channels_edit.c 
b/source/blender/editors/animation/anim_channels_edit.c
index 9a2235a..579275d 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1585,98 +1585,6 @@ static void ANIM_OT_channels_delete(wmOperatorType *ot)
ot-flag = OPTYPE_REGISTER | OPTYPE_UNDO;
 }
 
-/*  Set Channel Visibility Operator 
*** */
-/* NOTE: this operator is only valid in the Graph Editor channels region */
-
-static int animchannels_visibility_set_exec(bContext *C, wmOperator 
*UNUSED(op))
-{
-   bAnimContext ac;
-   ListBase anim_data = {NULL, NULL};
-   ListBase all_data = {NULL, NULL};
-   bAnimListElem *ale;
-   int filter;
-   
-   /* get editor data */
-   if (ANIM_animdata_get_context(C, ac) == 0)
-   return OPERATOR_CANCELLED;
-   
-   /* get list of all channels that selection may need to be flushed to 
-* - hierarchy mustn't affect what we have access to here...
-*/
-   filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | 
ANIMFILTER_NODUPLIS);
-   ANIM_animdata_filter(ac, all_data, filter, ac.data, ac.datatype);
-   
-   /* hide all channels not selected
-* - hierarchy matters if we're doing this from the channels region
-*   since we only want to apply this to channels we can see, 
-*   and have these affect their relatives
-* - but for Graph Editor, this gets used also from main region
-*   where hierarchy doesn't apply, as for [#21276]
-*/
-   if ((ac.spacetype == SPACE_IPO)  (ac.regiontype != 
RGN_TYPE_CHANNELS)) {
-   /* graph editor (case 2) */
-   filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_UNSEL | 
ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
-   }
-   else {
-   /* standard case */
-   filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | 
ANIMFILTER_UNSEL | ANIMFILTER_NODUPLIS);
-   }
-   ANIM_animdata_filter(ac, anim_data, filter, ac.data, ac.datatype);
-   
-   for (ale = anim_data.first; ale; ale = ale-next) {
-   /* clear setting first */
-   ANIM_channel_setting_set(ac, ale, ACHANNEL_SETTING_VISIBLE, 
ACHANNEL_SETFLAG_CLEAR);
-   
-   /* now also flush selection status as appropriate 
-* NOTE: in some cases, this may result in repeat flushing 
being performed
-*/
-   ANIM_flush_setting_anim_channels(ac, all_data, ale, 
ACHANNEL_SETTING_VISIBLE, 0);
-   }
-   
-   ANIM_animdata_freelist(anim_data);
-   
-   /* make all the selected channels visible */
-   filter = (ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
-   ANIM_animdata_filter(ac, anim_data, filter, ac.data, ac.datatype);
-
-   for (ale = anim_data.first; ale; ale = ale-next) {
-   /* hack: skip object channels for now, since flushing those 
will always flush everything, but they are always included */
-   /* TODO: find out why this is the case, and fix that */
-   

[Bf-blender-cvs] [5352fef] multiview: Sequencer: proxy rebuild changes

2014-11-19 Thread Dalai Felinto
Commit: 5352fef28f8fb25aadf52f7adf8884fb10fe04f2
Author: Dalai Felinto
Date:   Wed Nov 19 09:38:30 2014 -0200
Branches: multiview
https://developer.blender.org/rB5352fef28f8fb25aadf52f7adf8884fb10fe04f2

Sequencer: proxy rebuild changes

===

M   source/blender/blenkernel/intern/sequencer.c

===

diff --git a/source/blender/blenkernel/intern/sequencer.c 
b/source/blender/blenkernel/intern/sequencer.c
index 063b588..79744e1 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -1718,10 +1718,13 @@ void 
BKE_sequencer_proxy_rebuild_finish(SeqIndexBuildContext *context, bool stop
 {
if (context-index_context) {
StripAnim *sanim;
-   for (sanim = context-seq-anims.first; sanim; sanim = 
sanim-next) {
+
+   for (sanim = context-seq-anims.first; sanim; sanim = 
sanim-next)
IMB_close_anim_proxies(sanim-anim);
-   }
-   IMB_close_anim_proxies(context-orig_seq-anim);
+
+   for (sanim = context-orig_seq-anims.first; sanim; sanim = 
sanim-next)
+   IMB_close_anim_proxies(sanim-anim);
+
IMB_anim_index_rebuild_finish(context-index_context, stop);
}

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [52bc4bf] multiview: Sequencer: final bits of seq-anim stripped away (in favour of seq-anims)

2014-11-19 Thread Dalai Felinto
Commit: 52bc4bff6948d856da9e1cf874af8b8c94d9459e
Author: Dalai Felinto
Date:   Wed Nov 19 11:41:56 2014 -0200
Branches: multiview
https://developer.blender.org/rB52bc4bff6948d856da9e1cf874af8b8c94d9459e

Sequencer: final bits of seq-anim stripped away (in favour of seq-anims)

Sequencer core todos:


* Check on proxies

* I may need a permanent flag to indicate something is multiview/stereo,
  to prevent overhead on rendering uncached. That should also prevent:

* Fix issue of mono-videos (when in multiview) not showing a valid view
  for all the views.

* Add multiview option to rna_sequencer_api add_movie_strip

* (optional) Remove duplicate code of creating anims for all views

* Test, Test, Test

===

M   source/blender/blenkernel/BKE_sequencer.h
M   source/blender/blenkernel/intern/sequencer.c
M   source/blender/makesdna/DNA_sequence_types.h
M   source/blender/makesrna/intern/rna_color.c
M   source/blender/makesrna/intern/rna_sequencer_api.c

===

diff --git a/source/blender/blenkernel/BKE_sequencer.h 
b/source/blender/blenkernel/BKE_sequencer.h
index 0e5e674..8f4dd71 100644
--- a/source/blender/blenkernel/BKE_sequencer.h
+++ b/source/blender/blenkernel/BKE_sequencer.h
@@ -224,6 +224,7 @@ void BKE_sequencer_base_clipboard_pointers_store(struct 
ListBase *seqbase);
 void BKE_sequencer_base_clipboard_pointers_restore(struct ListBase *seqbase, 
struct Main *bmain);
 
 void BKE_sequence_free(struct Scene *scene, struct Sequence *seq);
+void BKE_sequence_free_anim(struct Sequence *seq);
 const char *BKE_sequence_give_name(struct Sequence *seq);
 void BKE_sequence_calc(struct Scene *scene, struct Sequence *seq);
 void BKE_sequence_calc_disp(struct Scene *scene, struct Sequence *seq);
diff --git a/source/blender/blenkernel/intern/sequencer.c 
b/source/blender/blenkernel/intern/sequencer.c
index 79744e1..90a4293 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -88,6 +88,7 @@ static ImBuf *seq_render_strip_stack(const SeqRenderData 
*context, ListBase *seq
 static ImBuf *seq_render_strip(const SeqRenderData *context, Sequence *seq, 
float cfra);
 static void seq_free_animdata(Scene *scene, Sequence *seq);
 static ImBuf *seq_render_mask(const SeqRenderData *context, Mask *mask, float 
nr, bool make_float);
+static size_t seq_num_files(Scene *scene, char views_format);
 
 /*  XXX  */
 #define SELECT 1
@@ -174,30 +175,13 @@ static void seq_free_strip(Strip *strip)
MEM_freeN(strip);
 }
 
-/* Functions to free imbuf and anim data on changes */
-
-static void seq_free_anim(ListBase *anims)
-{
-   while (anims-last) {
-   StripAnim *sanim = anims-last;
-   BLI_remlink(anims, sanim);
-
-   if (sanim-anim) {
-   IMB_free_anim(sanim-anim);
-   sanim-anim = NULL;
-   }
-
-   MEM_freeN(sanim);
-   }
-}
-
 /* only give option to skip cache locally (static func) */
 static void BKE_sequence_free_ex(Scene *scene, Sequence *seq, const bool 
do_cache)
 {
if (seq-strip)
seq_free_strip(seq-strip);
 
-   seq_free_anim(seq-anims);
+   BKE_sequence_free_anim(seq);
 
if (seq-type  SEQ_TYPE_EFFECT) {
struct SeqEffectHandle sh = BKE_sequence_get_effect(seq);
@@ -252,6 +236,22 @@ void BKE_sequence_free(Scene *scene, Sequence *seq)
BKE_sequence_free_ex(scene, seq, true);
 }
 
+/* Function to free imbuf and anim data on changes */
+void BKE_sequence_free_anim(Sequence *seq)
+{
+   while (seq-anims.last) {
+   StripAnim *sanim = seq-anims.last;
+   BLI_remlink(seq-anims, sanim);
+
+   if (sanim-anim) {
+   IMB_free_anim(sanim-anim);
+   sanim-anim = NULL;
+   }
+
+   MEM_freeN(sanim);
+   }
+}
+
 /* cache must be freed before calling this function
  * since it leaves the seqbase in an invalid state */
 static void seq_free_sequence_recurse(Scene *scene, Sequence *seq)
@@ -789,7 +789,7 @@ void BKE_sequence_calc(Scene *scene, Sequence *seq)
 /* note: caller should run BKE_sequence_calc(scene, seq) after */
 void BKE_sequence_reload_new_file(Scene *scene, Sequence *seq, const bool 
lock_range)
 {
-   char str[FILE_MAX];
+   char path[FILE_MAX];
int prev_startdisp = 0, prev_enddisp = 0;
/* note: don't rename the strip, will break animation curves */
 
@@ -822,23 +822,66 @@ void BKE_sequence_reload_new_file(Scene *scene, Sequence 
*seq, const bool lock_r
break;
}
case SEQ_TYPE_MOVIE:
-   // XXX MV SEQ MOV
-   BLI_join_dirfile(str, sizeof(str), seq-strip-dir,
+   {
+   

[Bf-blender-cvs] [13b196f] gooseberry: Merge branch 'master' into gooseberry

2014-11-19 Thread Campbell Barton
Commit: 13b196f4609d267a070d8136fa305915d2b6321d
Author: Campbell Barton
Date:   Wed Nov 19 15:23:38 2014 +0100
Branches: gooseberry
https://developer.blender.org/rB13b196f4609d267a070d8136fa305915d2b6321d

Merge branch 'master' into gooseberry

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ca65c70] gooseberry: warnings

2014-11-19 Thread Campbell Barton
Commit: ca65c70ce18afaf607fc9c6a99bfe1ec6915c6d6
Author: Campbell Barton
Date:   Wed Nov 19 15:27:56 2014 +0100
Branches: gooseberry
https://developer.blender.org/rBca65c70ce18afaf607fc9c6a99bfe1ec6915c6d6

warnings

===

M   source/blender/editors/physics/particle_edit.c
M   source/blender/modifiers/intern/MOD_particleinstance.c
M   source/blender/physics/intern/implicit_blender.c

===

diff --git a/source/blender/editors/physics/particle_edit.c 
b/source/blender/editors/physics/particle_edit.c
index b739f15..2c3280a 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -4151,7 +4151,7 @@ static void shape_cut(PEData *data, int pa_index)
}
 }
 
-static int shape_cut_exec(bContext *C, wmOperator *op)
+static int shape_cut_exec(bContext *C, wmOperator *UNUSED(op))
 {
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c 
b/source/blender/modifiers/intern/MOD_particleinstance.c
index e6e2295..2f49209 100644
--- a/source/blender/modifiers/intern/MOD_particleinstance.c
+++ b/source/blender/modifiers/intern/MOD_particleinstance.c
@@ -186,7 +186,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object 
*ob,
int maxvert, maxpoly, maxloop, totpart = 0, first_particle = 0;
int k, p, p_skip;
short track = ob-trackflag % 3, trackneg, axis = pimd-axis;
-   float max_co = 0.0, min_co = 0.0, temp_co[3], cross[3];
+   float max_co = 0.0, min_co = 0.0, temp_co[3];
float *size = NULL;
 
trackneg = ((ob-trackflag  2) ? 1 : 0);
diff --git a/source/blender/physics/intern/implicit_blender.c 
b/source/blender/physics/intern/implicit_blender.c
index 82b98df..2f9adc6 100644
--- a/source/blender/physics/intern/implicit_blender.c
+++ b/source/blender/physics/intern/implicit_blender.c
@@ -332,7 +332,6 @@ static void print_sparse_matrix(fmatrix3x3 *m)
}
}
 }
-#endif
 
 static void print_lvector(lfVector *v, int numverts)
 {
@@ -389,6 +388,7 @@ static void print_bfmatrix(fmatrix3x3 *m)

MEM_freeN(t);
 }
+#endif
 
 /* copy 3x3 matrix */
 DO_INLINE void cp_fmatrix(float to[3][3], float from[3][3])

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [896ee44] wiggly-widgets: Borrow transform system interaction: When arrow direction has direction close to view direction, use up/down movement of mouse to calculate offset.

2014-11-19 Thread Antony Riakiotakis
Commit: 896ee44ed6cc1a53aeaed50b5a2cd6c147fc6353
Author: Antony Riakiotakis
Date:   Wed Nov 19 15:28:10 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB896ee44ed6cc1a53aeaed50b5a2cd6c147fc6353

Borrow transform system interaction: When arrow direction has direction
close to view direction, use up/down movement of mouse to calculate
offset.

===

M   source/blender/windowmanager/intern/wm_generic_widgets.c

===

diff --git a/source/blender/windowmanager/intern/wm_generic_widgets.c 
b/source/blender/windowmanager/intern/wm_generic_widgets.c
index 1c7ece1..993c4cc 100644
--- a/source/blender/windowmanager/intern/wm_generic_widgets.c
+++ b/source/blender/windowmanager/intern/wm_generic_widgets.c
@@ -169,7 +169,7 @@ static void widget_arrow_get_final_pos(struct wmWidget 
*widget, float pos[3])
add_v3_v3(pos, arrow-widget.origin);
 }
 
-static void arrow_draw_geom(ArrowWidget *arrow, bool select, bool highlight)
+static void arrow_draw_geom(ArrowWidget *arrow, bool select)
 {
if (arrow-style  UI_ARROW_STYLE_CROSS) {
glPushAttrib(GL_ENABLE_BIT);
@@ -217,7 +217,7 @@ static void arrow_draw_intern(ArrowWidget *arrow, bool 
select, bool highlight)
else
glColor4fv(arrow-color);
 
-   arrow_draw_geom(arrow, select, highlight);
+   arrow_draw_geom(arrow, select);
 
glPopMatrix();
 
@@ -233,7 +233,7 @@ static void arrow_draw_intern(ArrowWidget *arrow, bool 
select, bool highlight)
 
glEnable(GL_BLEND);
glColor4f(0.5f, 0.5f, 0.5f, 0.5f);
-   arrow_draw_geom(arrow, select, highlight);
+   arrow_draw_geom(arrow, select);
 
glDisable(GL_BLEND);
 
@@ -268,28 +268,43 @@ static int widget_arrow_handler(struct bContext *C, const 
struct wmEvent *event,
float dir_2d[2], dir2d_final[2];
float fac, zfac;
float facdir = 1.0f;
-   bool flip;
+   bool use_vertical = false;
 
copy_v3_v3(orig_origin, data-orig_origin);
orig_origin[3] = 1.0f;
add_v3_v3v3(offset, orig_origin, arrow-direction);
offset[3] = 1.0f;
 
-   zfac = ED_view3d_calc_zfac(rv3d, orig_origin, flip);
-
-   if (flip)
-   zfac *= -1.0;
-
-   /* multiply to projection space */
-   mul_m4_v4(rv3d-persmat, orig_origin);
-   mul_m4_v4(rv3d-persmat, offset);
-
-   mul_v4_fl(orig_origin, 1.0f/orig_origin[3]);
-   mul_v4_fl(offset, 1.0f/offset[3]);
-   sub_v2_v2v2(dir_2d, offset, orig_origin);
-   dir_2d[0] *= ar-winx;
-   dir_2d[1] *= ar-winy;
-   normalize_v2(dir_2d);
+   /* calculate view vector */
+   if (rv3d-is_persp) {
+   sub_v3_v3v3(viewvec, orig_origin, rv3d-viewinv[3]);
+   }
+   else {
+   copy_v3_v3(viewvec, rv3d-viewinv[2]);
+   }
+   normalize_v3(viewvec);
+
+   zfac = ED_view3d_calc_zfac(rv3d, orig_origin, NULL);
+
+   /* first determine if view vector is really close to the direction. If 
it is, we use vertical movement to determine offset,
+* just like transform system does */
+   if (RAD2DEG(acos(dot_v3v3(viewvec, arrow-direction)))  5.0f) {
+   /* multiply to projection space */
+   mul_m4_v4(rv3d-persmat, orig_origin);
+   mul_v4_fl(orig_origin, 1.0f/orig_origin[3]);
+   mul_m4_v4(rv3d-persmat, offset);
+   mul_v4_fl(offset, 1.0f/offset[3]);
+
+   sub_v2_v2v2(dir_2d, offset, orig_origin);
+   dir_2d[0] *= ar-winx;
+   dir_2d[1] *= ar-winy;
+   normalize_v2(dir_2d);
+   }
+   else {
+   dir_2d[0] = 0.0f;
+   dir_2d[1] = 1.0f;
+   use_vertical = true;
+   }
 
/* find mouse difference */
m_diff[0] = event-mval[0] - data-orig_mouse[0];
@@ -302,7 +317,7 @@ static int widget_arrow_handler(struct bContext *C, const 
struct wmEvent *event,
 
add_v3_v3v3(orig_origin, offset, data-orig_origin);
 
-   /* calculate view vector */
+   /* calculate view vector for the new position */
if (rv3d-is_persp) {
sub_v3_v3v3(viewvec, orig_origin, rv3d-viewinv[3]);
}
@@ -310,13 +325,19 @@ static int widget_arrow_handler(struct bContext *C, const 
struct wmEvent *event,
copy_v3_v3(viewvec, rv3d-viewinv[2]);
}
 
-   /* now find a plane parallel to the view vector so we can intersect 
with the arrow direction */
-   cross_v3_v3v3(tangent, viewvec, offset);
-   cross_v3_v3v3(plane, tangent, viewvec);
-   fac = dot_v3v3(plane, offset) / dot_v3v3(arrow-direction, plane);
+   normalize_v3(viewvec);
+   if (!use_vertical) {
+   /* now find a plane parallel to the view vector so we can 
intersect with the arrow direction */
+   

[Bf-blender-cvs] [6ce5174] wiggly-widgets: Arrow Widget:

2014-11-19 Thread Antony Riakiotakis
Commit: 6ce517430141c53fe397eddd3b30119851b70f8d
Author: Antony Riakiotakis
Date:   Wed Nov 19 14:24:29 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB6ce517430141c53fe397eddd3b30119851b70f8d

Arrow Widget:

Create a cross style widget, with wireframe cross.

Allows setting a custom scale for the arrow widget also, an up
orientation.

===

M   source/blender/editors/space_view3d/space_view3d.c
M   source/blender/windowmanager/WM_api.h
M   source/blender/windowmanager/intern/wm_generic_widgets.c

===

diff --git a/source/blender/editors/space_view3d/space_view3d.c 
b/source/blender/editors/space_view3d/space_view3d.c
index fb6d9d2..78056f4 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -717,10 +717,11 @@ static void WIDGETGROUP_camera_update(struct 
wmWidgetGroup *wgroup, const struct
 
RNA_pointer_create(ca-id, RNA_Camera, ca, cameraptr);
WM_widget_set_origin(widget, ob-obmat[3]);
-   WM_widget_set_draw_on_hover_only(widget, true);
WM_widget_property(widget, cameraptr, dof_distance);
negate_v3_v3(dir, ob-obmat[2]);
WIDGET_arrow_set_direction(widget, dir);
+   WIDGET_arrow_set_up_vector(widget, ob-obmat[1]);
+   WIDGET_arrow_set_scale(widget, ca-drawsize);
 }
 
 
@@ -733,11 +734,12 @@ static void WIDGETGROUP_camera_free(struct wmWidgetGroup 
*wgroup)
 
 static void WIDGETGROUP_camera_create(struct wmWidgetGroup *wgroup)
 {
-   float color_camera[4] = {1.0f, 0.7f, 0.2f, 1.0f};
+   float color_camera[4] = {1.0f, 0.3f, 0.0f, 1.0f};
wmWidget *widget = NULL;
PointerRNA *cameraptr = MEM_callocN(sizeof(PointerRNA), 
camerawidgetptr);
 
-   widget = WIDGET_arrow_new(0, NULL);
+   widget = WIDGET_arrow_new(UI_ARROW_STYLE_CROSS, NULL);
+   WM_widget_set_draw_on_hover_only(widget, true);
WM_widget_register(wgroup, widget);
WIDGET_arrow_set_color(widget, color_camera);
 
diff --git a/source/blender/windowmanager/WM_api.h 
b/source/blender/windowmanager/WM_api.h
index 659ae02..7425949 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -516,10 +516,11 @@ void WM_widgetmaptypes_free(void);
 enum {
UI_ARROW_STYLE_NORMAL=  0,
UI_ARROW_STYLE_NO_AXIS   = (1  1),
+   UI_ARROW_STYLE_CROSS = (1  2),
/* inverted offset during interaction - if set it also sets constrained 
below */
-   UI_ARROW_STYLE_INVERTED  = (1  2),
+   UI_ARROW_STYLE_INVERTED  = (1  3),
/* clamp arrow interaction to property width */
-   UI_ARROW_STYLE_CONSTRAINED   = (1  3),
+   UI_ARROW_STYLE_CONSTRAINED   = (1  4),
 };
 
 enum {
@@ -530,6 +531,8 @@ enum {
 struct wmWidget *WIDGET_arrow_new(int style, void *customdata);
 void WIDGET_arrow_set_color(struct wmWidget *widget, float color[4]);
 void WIDGET_arrow_set_direction(struct wmWidget *widget, float direction[3]);
+void WIDGET_arrow_set_up_vector(struct wmWidget *widget, float direction[3]);
+void WIDGET_arrow_set_scale(struct wmWidget *widget, float scale);
 
 struct wmWidget *WIDGET_dial_new(int style,
  void *customdata);
diff --git a/source/blender/windowmanager/intern/wm_generic_widgets.c 
b/source/blender/windowmanager/intern/wm_generic_widgets.c
index 278e1d6..814beca 100644
--- a/source/blender/windowmanager/intern/wm_generic_widgets.c
+++ b/source/blender/windowmanager/intern/wm_generic_widgets.c
@@ -136,10 +136,15 @@ static void widget_draw_intern(WidgetDrawInfo *info, bool 
select)
 
 /* Arrow widget /
 
+#define ARROW_UP_VECTOR_SET 1
+
 typedef struct ArrowWidget {
wmWidget widget;
int style;
+   int flag;
float direction[3];
+   float up[3];
+   float scale;
float color[4];
float offset;
/* property range and minimum for constrained arrows */
@@ -165,20 +170,45 @@ static void widget_arrow_get_final_pos(struct wmWidget 
*widget, float pos[3])
add_v3_v3(pos, arrow-widget.origin);
 }
 
+static void arrow_draw_geom(ArrowWidget *arrow, bool select, bool highlight)
+{
+   if (arrow-style  UI_ARROW_STYLE_CROSS) {
+   glPushAttrib(GL_ENABLE_BIT);
+   glDisable(GL_LIGHTING);
+   glBegin(GL_LINES);
+   glVertex2f(-1.0, 0.f);
+   glVertex2f(1.0, 0.f);
+   glVertex2f(0.f, -1.0);
+   glVertex2f(0.f, 1.0);
+   glEnd();
+
+   glPopAttrib();
+   }
+   else {
+   widget_draw_intern(arraw_head_draw_info, select);
+   }
+}
 
-static void arrow_draw_intern(ArrowWidget *arrow, bool select, bool highlight, 
float scale)
+static void arrow_draw_intern(ArrowWidget *arrow, bool select, bool highlight)
 {

[Bf-blender-cvs] [134d695] wiggly-widgets: More refinement to the widget system. Now camera widget should be indistinguishable than the displayed widget (might probably be worth deleting the original)

2014-11-19 Thread Antony Riakiotakis
Commit: 134d69582c5f6370437a6b4570d67251f65e7df1
Author: Antony Riakiotakis
Date:   Wed Nov 19 14:48:02 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB134d69582c5f6370437a6b4570d67251f65e7df1

More refinement to the widget system. Now camera widget should be
indistinguishable than the displayed widget (might probably be worth
deleting the original)

===

M   source/blender/editors/space_node/node_draw.c
M   source/blender/editors/space_view3d/space_view3d.c
M   source/blender/editors/space_view3d/view3d_draw.c
M   source/blender/windowmanager/WM_api.h
M   source/blender/windowmanager/intern/wm_generic_widgets.c
M   source/blender/windowmanager/intern/wm_widgets.c
M   source/blender/windowmanager/wm.h

===

diff --git a/source/blender/editors/space_node/node_draw.c 
b/source/blender/editors/space_node/node_draw.c
index a2103f5..e85a3a4 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -1349,7 +1349,7 @@ void drawnodespace(const bContext *C, ARegion *ar)
/* almost #wmOrtho2_region_pixelspace, but no +1 px */
//wmOrtho2_pixelspace(ar-winx, ar-winy);
 
-   WM_widgets_draw(C, ar, false);
+   WM_widgets_draw(C, ar);
 
glMatrixMode(GL_PROJECTION);
glPopMatrix();
diff --git a/source/blender/editors/space_view3d/space_view3d.c 
b/source/blender/editors/space_view3d/space_view3d.c
index 78056f4..1be83b5 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -721,7 +721,7 @@ static void WIDGETGROUP_camera_update(struct wmWidgetGroup 
*wgroup, const struct
negate_v3_v3(dir, ob-obmat[2]);
WIDGET_arrow_set_direction(widget, dir);
WIDGET_arrow_set_up_vector(widget, ob-obmat[1]);
-   WIDGET_arrow_set_scale(widget, ca-drawsize);
+   WM_widget_set_scale(widget, ca-drawsize);
 }
 
 
@@ -740,6 +740,7 @@ static void WIDGETGROUP_camera_create(struct wmWidgetGroup 
*wgroup)
 
widget = WIDGET_arrow_new(UI_ARROW_STYLE_CROSS, NULL);
WM_widget_set_draw_on_hover_only(widget, true);
+   WM_widget_set_3d_scale(widget, false);
WM_widget_register(wgroup, widget);
WIDGET_arrow_set_color(widget, color_camera);
 
diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index 6fc0d90..99ab628 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -3552,7 +3552,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)

view3d_main_area_setup_view(scene, v3d, ar, NULL, NULL);
glClear(GL_DEPTH_BUFFER_BIT);
-   WM_widgets_draw(C, ar, true);
+   WM_widgets_draw(C, ar);
ED_region_pixelspace(ar);

view3d_main_area_draw_info(C, scene, ar, v3d, grid_unit, render_border);
diff --git a/source/blender/windowmanager/WM_api.h 
b/source/blender/windowmanager/WM_api.h
index 7425949..35349a8 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -484,7 +484,7 @@ void WM_widget_operator(struct wmWidget *,
 int  (*initialize_op)(struct bContext *, const struct 
wmEvent *, struct wmWidget *, struct PointerRNA *),
 const char *opname,
 const char *propname);
-void WM_widgets_draw(const struct bContext *C, struct ARegion *ar, bool is_3d);
+void WM_widgets_draw(const struct bContext *C, struct ARegion *ar);
 void WM_event_add_widget_handler(struct ARegion *ar);
 
 bool WM_widget_register(struct wmWidgetGroup *wgroup, struct wmWidget *widget);
@@ -493,8 +493,9 @@ void WM_widget_unregister(struct wmWidgetGroup *wgroup, 
struct wmWidget *widget)
 void *WM_widget_customdata(struct wmWidget *widget);
 void WM_widget_set_origin(struct wmWidget *widget, float origin[3]);
 void WM_widget_set_draw(struct wmWidget *widget, bool draw);
-
+void WM_widget_set_3d_scale(struct wmWidget *widget, bool scale);
 void WM_widget_set_draw_on_hover_only(struct wmWidget *widget, bool draw);
+void WM_widget_set_scale(struct wmWidget *widget, float scale);
 
 void *WM_widgetgroup_customdata(struct wmWidgetGroup *wgroup);
 void WM_widgetgroup_customdata_set(struct wmWidgetGroup *wgroup, void *data);
diff --git a/source/blender/windowmanager/intern/wm_generic_widgets.c 
b/source/blender/windowmanager/intern/wm_generic_widgets.c
index 814beca..1c7ece1 100644
--- a/source/blender/windowmanager/intern/wm_generic_widgets.c
+++ b/source/blender/windowmanager/intern/wm_generic_widgets.c
@@ -144,7 +144,6 @@ typedef struct ArrowWidget {
int flag;
float direction[3];

[Bf-blender-cvs] [189e897] GPencil_EditStrokes: Merge branch 'master' into GPencil_EditStrokes

2014-11-19 Thread Joshua Leung
Commit: 189e89769f259fcef02979888a489a34f0a10ed7
Author: Joshua Leung
Date:   Wed Nov 12 01:32:29 2014 +1300
Branches: GPencil_EditStrokes
https://developer.blender.org/rB189e89769f259fcef02979888a489a34f0a10ed7

Merge branch 'master' into GPencil_EditStrokes

Conflicts:
source/blender/editors/gpencil/gpencil_buttons.c

===



===

diff --cc source/blender/editors/gpencil/gpencil_buttons.c
index 6d740ce,a7635c1..fe033c4
--- a/source/blender/editors/gpencil/gpencil_buttons.c
+++ b/source/blender/editors/gpencil/gpencil_buttons.c
@@@ -145,12 -145,13 +145,12 @@@ static void gp_drawui_layer(uiLayout *l
/* active */
block = uiLayoutGetBlock(sub);
icon = (gpl-flag  GP_LAYER_ACTIVE) ? ICON_RADIOBUT_ON : 
ICON_RADIOBUT_OFF;
-   but = uiDefIconButBitS(block, TOG, GP_LAYER_ACTIVE, 0, icon, 0, 0, 
UI_UNIT_X, UI_UNIT_Y,
 -  but = uiDefIconButBitI(block, UI_BTYPE_TOGGLE, GP_LAYER_ACTIVE, 0, 
icon, 0, 0, UI_UNIT_X, UI_UNIT_Y,
++  but = uiDefIconButBitS(block, UI_BTYPE_TOGGLE, GP_LAYER_ACTIVE, 0, 
icon, 0, 0, UI_UNIT_X, UI_UNIT_Y,
   gpl-flag, 0.0, 0.0, 0.0, 0.0, TIP_(Set active 
layer));
-   uiButSetFunc(but, gp_ui_activelayer_cb, gpd, gpl);
+   UI_but_func_set(but, gp_ui_activelayer_cb, gpd, gpl);

/* locked */
 -  icon = (gpl-flag  GP_LAYER_LOCKED) ? ICON_LOCKED : ICON_UNLOCKED;
 -  uiItemR(sub, ptr, lock, 0, , icon);
 +  uiItemR(sub, ptr, lock, 0, , ICON_NONE);

/* when layer is locked or hidden, only draw header */
if (gpl-flag  (GP_LAYER_LOCKED | GP_LAYER_HIDE)) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [bf4d864] GPencil_EditStrokes: Merge branch 'master' into GPencil_EditStrokes

2014-11-19 Thread Joshua Leung
Commit: bf4d8648bb28b65ec86db8fde10b4ac8faa05f52
Author: Joshua Leung
Date:   Thu Nov 20 03:29:59 2014 +1300
Branches: GPencil_EditStrokes
https://developer.blender.org/rBbf4d8648bb28b65ec86db8fde10b4ac8faa05f52

Merge branch 'master' into GPencil_EditStrokes

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [89bb9b4] GPencil_EditStrokes: Fix for UI api changes in master

2014-11-19 Thread Joshua Leung
Commit: 89bb9b46a4850ddc59295978286cbdfb6b6762a5
Author: Joshua Leung
Date:   Wed Nov 12 19:15:34 2014 +1300
Branches: GPencil_EditStrokes
https://developer.blender.org/rB89bb9b46a4850ddc59295978286cbdfb6b6762a5

Fix for UI api changes in master

===

M   source/blender/editors/animation/anim_channels_defines.c

===

diff --git a/source/blender/editors/animation/anim_channels_defines.c 
b/source/blender/editors/animation/anim_channels_defines.c
index 4b92ba0..0d4cd68 100644
--- a/source/blender/editors/animation/anim_channels_defines.c
+++ b/source/blender/editors/animation/anim_channels_defines.c
@@ -3903,13 +3903,13 @@ void ANIM_channel_draw_widgets(bContext *C, 
bAnimContext *ac, bAnimListElem *ale

RNA_pointer_create(ale-id, RNA_GPencilLayer, 
ale-data, ptr);

-   uiBlockSetEmboss(block, UI_EMBOSS);
+   UI_block_emboss_set(block, UI_EMBOSS);

-   uiDefButR(block, COLOR, 1, , offset, yminc, 
ICON_WIDTH, ICON_WIDTH, 
+   uiDefButR(block, UI_BTYPE_COLOR, 1, , offset, yminc, 
ICON_WIDTH, ICON_WIDTH, 
  ptr, color, -1, 
  0, 0, 0, 0, gpl-info);

-   uiBlockSetEmboss(block, UI_EMBOSSN);
+   UI_block_emboss_set(block, UI_EMBOSS_NONE);

offset += ICON_WIDTH;
}

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [9e17304] GPencil_EditStrokes: Don't show New Layer operator when no GPencil datablock exists anymore

2014-11-19 Thread Joshua Leung
Commit: 9e17304ffb14704912ec22677ae273f99ef79547
Author: Joshua Leung
Date:   Wed Nov 12 19:23:17 2014 +1300
Branches: GPencil_EditStrokes
https://developer.blender.org/rB9e17304ffb14704912ec22677ae273f99ef79547

Don't show New Layer operator when no GPencil datablock exists anymore

===

M   release/scripts/startup/bl_ui/properties_grease_pencil_common.py

===

diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py 
b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index a3fc290..0492ffc 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -249,10 +249,7 @@ class GreasePencilDataPanel():
 layout.template_ID(gpd_owner, grease_pencil, new=gpencil.data_add, 
unlink=gpencil.data_unlink)
 
 # Grease Pencil data...
-if gpd is None:
-# even with no data, this operator will still work, as it makes 
gpd too
-layout.operator(gpencil.layer_add, text=New Layer, 
icon='ZOOMIN')
-else:
+if gpd:
 self.draw_layers(context, layout, gpd)
 
 # only sequencer doesn't have a toolbar to show these settings in,

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5724460] GPencil_EditStrokes: Tweak to stroke editing drawing - Only show stroke points when in editmode

2014-11-19 Thread Joshua Leung
Commit: 57244603dd30dacc2253ff9f74e6a6ef46e466d7
Author: Joshua Leung
Date:   Thu Nov 20 03:55:34 2014 +1300
Branches: GPencil_EditStrokes
https://developer.blender.org/rB57244603dd30dacc2253ff9f74e6a6ef46e466d7

Tweak to stroke editing drawing - Only show stroke points when in editmode

===

M   source/blender/editors/gpencil/drawgpencil.c

===

diff --git a/source/blender/editors/gpencil/drawgpencil.c 
b/source/blender/editors/gpencil/drawgpencil.c
index 8188738..9a356e9 100644
--- a/source/blender/editors/gpencil/drawgpencil.c
+++ b/source/blender/editors/gpencil/drawgpencil.c
@@ -1015,7 +1015,8 @@ static void gp_draw_data(bGPdata *gpd, int offsx, int 
offsy, int winx, int winy,
 *as they will have no bearings on what gets edited
 */
/* XXX: perhaps we don't want to show these when users are 
drawing... */
-   if ((gpl-flag  GP_LAYER_LOCKED) == 0) {
+   /* XXX: for now, we only show editing info when stroke can be 
edited */
+   if ((gpl-flag  GP_LAYER_LOCKED) == 0  (gpd-flag  
GP_DATA_STROKE_EDITMODE)) {
gp_draw_strokes_edit(gpf, offsx, offsy, winx, winy, 
dflag, 
 (gpl-color[3]  0.95f) ? 
gpl-color : NULL);
}

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [09aa72a] GPencil_EditStrokes: Compile fix for changes in master

2014-11-19 Thread Joshua Leung
Commit: 09aa72a5b7af4e1d4894966b7337c0da6754dff4
Author: Joshua Leung
Date:   Thu Nov 20 03:51:56 2014 +1300
Branches: GPencil_EditStrokes
https://developer.blender.org/rB09aa72a5b7af4e1d4894966b7337c0da6754dff4

Compile fix for changes in master

===

M   source/blender/makesrna/intern/rna_gpencil.c

===

diff --git a/source/blender/makesrna/intern/rna_gpencil.c 
b/source/blender/makesrna/intern/rna_gpencil.c
index b1ce360..e151bdc 100644
--- a/source/blender/makesrna/intern/rna_gpencil.c
+++ b/source/blender/makesrna/intern/rna_gpencil.c
@@ -150,7 +150,7 @@ static void rna_GPencil_active_layer_index_range(PointerRNA 
*ptr, int *min, int
bGPdata *gpd = (bGPdata *)ptr-id.data;
 
*min = 0;
-   *max = max_ii(0, BLI_countlist(gpd-layers) - 1);
+   *max = max_ii(0, BLI_listbase_count(gpd-layers) - 1);
 
*softmin = *min;
*softmax = *max;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ef310b2] wiggly-widgets: lost instance of transform manipulator

2014-11-19 Thread Antony Riakiotakis
Commit: ef310b2ae1d8d1915a63be36d9fccf975322cbe8
Author: Antony Riakiotakis
Date:   Wed Nov 19 16:12:25 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBef310b2ae1d8d1915a63be36d9fccf975322cbe8

lost instance of transform manipulator

===

M   source/blender/editors/physics/physics_ops.c

===

diff --git a/source/blender/editors/physics/physics_ops.c 
b/source/blender/editors/physics/physics_ops.c
index 9e9cf8f..ff89909 100644
--- a/source/blender/editors/physics/physics_ops.c
+++ b/source/blender/editors/physics/physics_ops.c
@@ -135,6 +135,9 @@ static void keymap_particle(wmKeyConfig *keyconf)
kmi = WM_keymap_add_item(keymap, PARTICLE_OT_hide, HKEY, KM_PRESS, 
KM_SHIFT, 0);
RNA_boolean_set(kmi-ptr, unselected, true);
 
+   kmi = WM_keymap_verify_item(keymap, VIEW3D_OT_manipulator, LEFTMOUSE, 
KM_PRESS, KM_ANY, 0);
+   RNA_boolean_set(kmi-ptr, release_confirm, true);
+
WM_keymap_add_item(keymap, PARTICLE_OT_brush_edit, LEFTMOUSE, 
KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, PARTICLE_OT_brush_edit, LEFTMOUSE, 
KM_PRESS, KM_SHIFT, 0);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fee102e] wiggly-widgets: Bring back the old manipulator code, it works better with the transform system for now. Backup the old code in a new file

2014-11-19 Thread Antony Riakiotakis
Commit: fee102e818785b2501854a55b23e6d18b39b5f9f
Author: Antony Riakiotakis
Date:   Wed Nov 19 16:07:56 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBfee102e818785b2501854a55b23e6d18b39b5f9f

Bring back the old manipulator code, it works better with the transform
system for now. Backup the old code in a new file

===

M   source/blender/editors/include/ED_transform.h
M   source/blender/editors/space_view3d/space_view3d.c
M   source/blender/editors/space_view3d/view3d_draw.c
M   source/blender/editors/space_view3d/view3d_edit.c
M   source/blender/editors/space_view3d/view3d_ops.c
A   source/blender/editors/transform/manipulator_widget.c
M   source/blender/editors/transform/transform_manipulator.c

===

diff --git a/source/blender/editors/include/ED_transform.h 
b/source/blender/editors/include/ED_transform.h
index d36472e..eda1794 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -155,6 +155,7 @@ void Transform_Properties(struct wmOperatorType *ot, int 
flags);
 
 /* view3d manipulators */
 
+/*
 typedef struct ManipulatorGroup {
struct wmWidget *translate_x;
struct wmWidget *translate_y;
@@ -176,7 +177,10 @@ bool WIDGETGROUP_manipulator_poll(struct wmWidgetGroup 
*wgroup, const struct bCo
 void WIDGETGROUP_manipulator_update(struct wmWidgetGroup *wgroup, const struct 
bContext *C);
 void WIDGETGROUP_manipulator_free(struct wmWidgetGroup *wgroup);
 void WIDGETGROUP_manipulator_create(struct wmWidgetGroup *wgroup);
+*/
 
+void BIF_draw_manipulator(const struct bContext *C);
+int BIF_do_manipulator(struct bContext *C, const struct wmEvent *event, struct 
wmOperator *op);
 /* Snapping */
 
 
diff --git a/source/blender/editors/space_view3d/space_view3d.c 
b/source/blender/editors/space_view3d/space_view3d.c
index 1be83b5..ab3a808 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -751,10 +751,12 @@ static void WIDGETGROUP_camera_create(struct 
wmWidgetGroup *wgroup)
 static void view3d_widgets(void)
 {
struct wmWidgetMapType *wmaptype = WM_widgetmaptype_find(View3D, 
SPACE_VIEW3D, RGN_TYPE_WINDOW, true);
+   /*
struct wmWidgetGroupType *wgroup_manipulator = 
WM_widgetgrouptype_new(WIDGETGROUP_manipulator_create,
  
WIDGETGROUP_manipulator_poll,
  
WIDGETGROUP_manipulator_update,
  
WIDGETGROUP_manipulator_free);
+   */
struct wmWidgetGroupType *wgroup_light = 
WM_widgetgrouptype_new(WIDGETGROUP_lamp_create,

WIDGETGROUP_lamp_poll,

WIDGETGROUP_lamp_update,
@@ -765,7 +767,7 @@ static void view3d_widgets(void)

WIDGETGROUP_camera_update,

WIDGETGROUP_camera_free);
 
-   WM_widgetgrouptype_register(wmaptype, wgroup_manipulator);
+   //WM_widgetgrouptype_register(wmaptype, wgroup_manipulator);
WM_widgetgrouptype_register(wmaptype, wgroup_light);
WM_widgetgrouptype_register(wmaptype, wgroup_camera);
 }
diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index 99ab628..22779ca 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -3553,6 +3553,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
view3d_main_area_setup_view(scene, v3d, ar, NULL, NULL);
glClear(GL_DEPTH_BUFFER_BIT);
WM_widgets_draw(C, ar);
+   BIF_draw_manipulator(C);
ED_region_pixelspace(ar);

view3d_main_area_draw_info(C, scene, ar, v3d, grid_unit, render_border);
diff --git a/source/blender/editors/space_view3d/view3d_edit.c 
b/source/blender/editors/space_view3d/view3d_edit.c
index 1d433b7..e504050 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -863,7 +863,7 @@ void viewrotate_modal_keymap(wmKeyConfig *keyconf)
 
{VIEWROT_MODAL_AXIS_SNAP_ENABLE,AXIS_SNAP_ENABLE, 0, 
Enable Axis Snap, },
{VIEWROT_MODAL_AXIS_SNAP_DISABLE,   AXIS_SNAP_DISABLE, 0, 
Disable Axis Snap, },
-   
+
{VIEWROT_MODAL_SWITCH_ZOOM, SWITCH_TO_ZOOM, 0, Switch to 
Zoom},
{VIEWROT_MODAL_SWITCH_MOVE, SWITCH_TO_MOVE, 0, Switch to 
Move},
 
@@ 

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

2014-11-19 Thread Antony Riakiotakis
Commit: bfa6b80b8b5a2d0edf9fd2107c9fed8cdc2bcd7e
Author: Antony Riakiotakis
Date:   Wed Nov 19 16:08:05 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBbfa6b80b8b5a2d0edf9fd2107c9fed8cdc2bcd7e

Merge branch 'master' into wiggly-widgets

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [d19ae9b] mesh-transfer-data: Merge branch 'master' into mesh-transfer-data

2014-11-19 Thread Bastien Montagne
Commit: d19ae9bf26b07af2dcc77a4fdc65f207535eeece
Author: Bastien Montagne
Date:   Wed Nov 19 16:33:53 2014 +0100
Branches: mesh-transfer-data
https://developer.blender.org/rBd19ae9bf26b07af2dcc77a4fdc65f207535eeece

Merge branch 'master' into mesh-transfer-data

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [35fea3a] mesh-transfer-data: Transfer operators: do not run several times on same mesh, nor on linked ones.

2014-11-19 Thread Bastien Montagne
Commit: 35fea3a7c397d09d10c17ba837a9dfab8e97232d
Author: Bastien Montagne
Date:   Wed Nov 19 15:33:23 2014 +0100
Branches: mesh-transfer-data
https://developer.blender.org/rB35fea3a7c397d09d10c17ba837a9dfab8e97232d

Transfer operators: do not run several times on same mesh, nor on linked ones.

===

M   source/blender/editors/object/object_data_transfer.c

===

diff --git a/source/blender/editors/object/object_data_transfer.c 
b/source/blender/editors/object/object_data_transfer.c
index 1ec692f..b52f6cc 100644
--- a/source/blender/editors/object/object_data_transfer.c
+++ b/source/blender/editors/object/object_data_transfer.c
@@ -31,6 +31,7 @@
 
 #include MEM_guardedalloc.h
 
+#include DNA_mesh_types.h
 #include DNA_modifier_types.h
 #include DNA_object_types.h
 #include DNA_scene_types.h
@@ -45,6 +46,7 @@
 #include BKE_mesh_mapping.h
 #include BKE_mesh_remap.h
 #include BKE_object.h
+#include BKE_report.h
 
 #include RNA_access.h
 #include RNA_define.h
@@ -259,11 +261,63 @@ static bool data_transfer_check(bContext *UNUSED(C), 
wmOperator *op)
return false;
 }
 
+/* Helper, used by both data_transfer_exec and datalayout_transfer_exec. */
+static void data_transfer_exec_preprocess_objects(bContext *C, wmOperator *op, 
Object *ob_src, ListBase *ctx_objects)
+{
+   CollectionPointerLink *ctx_ob;
+   CTX_data_selected_editable_objects(C, ctx_objects);
+
+   for (ctx_ob = ctx_objects-first; ctx_ob; ctx_ob = ctx_ob-next) {
+   Object *ob = ctx_ob-ptr.data;
+   Mesh *me;
+   if ((ob == ob_src) || (ob-type != OB_MESH)) {
+   continue;
+   }
+
+   me = ob-data;
+   if (me-id.lib) {
+   /* Do not transfer to linked data, not supported. */
+   BKE_reportf(op-reports, RPT_WARNING, Skipping object 
'%s', linked data '%s' cannot be modified,
+   ob-id.name + 2, me-id.name + 2);
+   me-id.flag = ~LIB_DOIT;
+   continue;
+   }
+
+   me-id.flag |= LIB_DOIT;
+   }
+}
+
+/* Helper, used by both data_transfer_exec and datalayout_transfer_exec. */
+static bool data_transfer_exec_is_object_valid(wmOperator *op, Object *ob_src, 
Object *ob_dst)
+{
+   Mesh *me;
+   if ((ob_dst == ob_src) || (ob_dst-type != OB_MESH)) {
+   return false;
+   }
+
+   me = ob_dst-data;
+   if (me-id.flag  LIB_DOIT) {
+   me-id.flag = ~LIB_DOIT;
+   return true;
+   }
+   else if (me-id.lib == NULL) {
+   /* Do not transfer apply operation more than once. */
+   /* XXX This is not nice regarding vgroups, which are 
half-Object data... :/ */
+   BKE_reportf(op-reports, RPT_WARNING,
+   Skipping object '%s', data '%s' has already been 
processed with a previous object,
+   ob_dst-id.name + 2, me-id.name + 2);
+   }
+   return false;
+}
+
 static int data_transfer_exec(bContext *C, wmOperator *op)
 {
Scene *scene = CTX_data_scene(C);
Object *ob_src = CTX_data_active_object(C);
 
+   ListBase ctx_objects;
+   CollectionPointerLink *ctx_ob_dst;
+
bool changed = false;
 
const int data_type = RNA_enum_get(op-ptr, data_type);
@@ -296,25 +350,27 @@ static int data_transfer_exec(bContext *C, wmOperator *op)
layers_select_dst[fromto_idx] = layers_dst;
}
 
-   CTX_DATA_BEGIN (C, Object *, ob_dst, selected_editable_objects)
-   {
-   if ((ob_dst == ob_src) || (ob_dst-type != OB_MESH)) {
-   continue;
-   }
+   data_transfer_exec_preprocess_objects(C, op, ob_src, ctx_objects);
 
-   if (space_transform) {
-   BLI_SPACE_TRANSFORM_SETUP(space_transform, ob_dst, 
ob_src);
-   }
+   for (ctx_ob_dst = ctx_objects.first; ctx_ob_dst; ctx_ob_dst = 
ctx_ob_dst-next) {
+   Object *ob_dst = ctx_ob_dst-ptr.data;
+   if (data_transfer_exec_is_object_valid(op, ob_src, ob_dst)) {
+   if (space_transform) {
+   BLI_SPACE_TRANSFORM_SETUP(space_transform, 
ob_dst, ob_src);
+   }
 
-   if (BKE_object_data_transfer_mesh(scene, ob_src, ob_dst, 
data_type, use_create,
-  map_vert_mode, map_edge_mode, 
map_loop_mode, map_poly_mode, 
-  space_transform, max_distance, 
ray_radius, layers_select_src, layers_select_dst,
-  mix_mode, mix_factor, NULL, false, 
op-reports))
-   {
-   changed = true;
+   if 

[Bf-blender-cvs] [3102ced] gooseberry: Merge branch 'wiggly-widgets' into gooseberry

2014-11-19 Thread Antony Riakiotakis
Commit: 3102ced86466749f5cb0a99599588d0ac0fdf365
Author: Antony Riakiotakis
Date:   Wed Nov 19 16:48:04 2014 +0100
Branches: gooseberry
https://developer.blender.org/rB3102ced86466749f5cb0a99599588d0ac0fdf365

Merge branch 'wiggly-widgets' into gooseberry

Conflicts:
source/blender/editors/include/ED_view3d.h
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/transform/transform_manipulator.c

===



===

diff --cc source/blender/editors/include/ED_view3d.h
index b51e210,592448f..5ecb938
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@@ -61,9 -62,8 +62,11 @@@ struct rcti
  struct wmOperator;
  struct wmOperatorType;
  struct wmWindow;
 +struct GPUFX;
 +struct GPUOffScreen;
 +struct GPUFXOptions;
+ struct wmWidget;
+ struct wmWidgetGroup;
  
  /* for derivedmesh drawing callbacks, for view3d_select,  */
  typedef struct ViewContext {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [713cf54] mesh-transfer-data: Finalize transfer datalayout for vgroups.

2014-11-19 Thread Bastien Montagne
Commit: 713cf54d65e643d18656a8a3ba3347a8aa0d894e
Author: Bastien Montagne
Date:   Wed Nov 19 18:01:45 2014 +0100
Branches: mesh-transfer-data
https://developer.blender.org/rB713cf54d65e643d18656a8a3ba3347a8aa0d894e

Finalize transfer datalayout for vgroups.

As best as possible I think, given the specificities of vgroups (mix of object 
and mesh data).

===

M   source/blender/blenkernel/intern/customdata.c
M   source/blender/blenkernel/intern/deform.c

===

diff --git a/source/blender/blenkernel/intern/customdata.c 
b/source/blender/blenkernel/intern/customdata.c
index 6260696..e98de99 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.c
@@ -3603,6 +3603,11 @@ static void customdata_data_transfer_interp_generic(
 
void *tmp_dst;
 
+   if (!sources) {
+   /* Not supported here, abort. */
+   return;
+   }
+
if (data_type  CD_FAKE) {
data_size = laymap-data_size;
}
@@ -3705,13 +3710,16 @@ void CustomData_data_transfer(const MeshPairRemap 
*me_remap, const CustomDataTra
cd_datatransfer_interp interp = NULL;
 
size_t tmp_buff_size = 32;
-   void **tmp_data_src;
+   void **tmp_data_src = NULL;
 
-   if (!data_src || !data_dst) {
+   /* Note: NULL data_src may happen and be valid (see vgroups...). */
+   if (!data_dst) {
return;
}
 
-   tmp_data_src = MEM_mallocN(sizeof(*tmp_data_src) * tmp_buff_size, 
__func__);
+   if (data_src) {
+   tmp_data_src = MEM_mallocN(sizeof(*tmp_data_src) * 
tmp_buff_size, __func__);
+   }
 
if (data_type  CD_FAKE) {
data_step = laymap-elem_size;
@@ -3739,18 +3747,20 @@ void CustomData_data_transfer(const MeshPairRemap 
*me_remap, const CustomDataTra
continue;
}
 
-   if (UNLIKELY(sources_num  tmp_buff_size)) {
-   tmp_buff_size = (size_t)sources_num;
-   tmp_data_src = MEM_reallocN(tmp_data_src, 
sizeof(*tmp_data_src) * tmp_buff_size);
-   }
+   if (tmp_data_src) {
+   if (UNLIKELY(sources_num  tmp_buff_size)) {
+   tmp_buff_size = (size_t)sources_num;
+   tmp_data_src = MEM_reallocN(tmp_data_src, 
sizeof(*tmp_data_src) * tmp_buff_size);
+   }
 
-   for (j = 0; j  sources_num; j++) {
-   const size_t src_idx = (size_t)mapit-indices_src[j];
-   tmp_data_src[j] = (char *)data_src + data_step * 
src_idx + data_offset;
+   for (j = 0; j  sources_num; j++) {
+   const size_t src_idx = 
(size_t)mapit-indices_src[j];
+   tmp_data_src[j] = (char *)data_src + data_step 
* src_idx + data_offset;
+   }
}
 
interp(laymap, (char *)data_dst + data_offset, tmp_data_src, 
mapit-weights_src, sources_num, mix_factor);
}
 
-   MEM_freeN(tmp_data_src);
+   MEM_SAFE_FREE(tmp_data_src);
 }
diff --git a/source/blender/blenkernel/intern/deform.c 
b/source/blender/blenkernel/intern/deform.c
index 111f114..26c56fd 100644
--- a/source/blender/blenkernel/intern/deform.c
+++ b/source/blender/blenkernel/intern/deform.c
@@ -1082,11 +1082,13 @@ static void vgroups_datatransfer_interp(const 
CustomDataTransferLayerMap *laymap
MDeformWeight *dw_dst = defvert_find_index(data_dst, idx_dst);
float weight_src = 0.0f, weight_dst = 0.0f;
 
-   for (i = count; i--;) {
-   for (j = data_src[i]-totweight; j--;) {
-   if ((dw_src = data_src[i]-dw[j])-def_nr == idx_src) {
-   weight_src += dw_src-weight * weights[i];
-   break;
+   if (sources) {
+   for (i = count; i--;) {
+   for (j = data_src[i]-totweight; j--;) {
+   if ((dw_src = data_src[i]-dw[j])-def_nr == 
idx_src) {
+   weight_src += dw_src-weight * 
weights[i];
+   break;
+   }
}
}
}
@@ -1138,13 +1140,12 @@ static bool 
data_transfer_layersmapping_vgroups_multisrc_to_dst(
}
/* Create as much vgroups as necessary! */
for (; idx_dst  idx_src; idx_dst++) {
-   BKE_defgroup_new(ob_dst, 
DATA_(Group));
-   ob_dst-actdef = 
BLI_listbase_count(ob_dst-defbase);
+   

[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61444] trunk/lib/ darwin-9.x.universal/sdl: OSX: Commit of SDL2 libraries

2014-11-19 Thread Sergey Sharybin
Revision: 61444
  https://developer.blender.org/rBL61444
Author:   sergey
Date: 2014-11-19 18:38:16 + (Wed, 19 Nov 2014)
Log Message:
---
OSX: Commit of SDL2 libraries

Modified Paths:
--
trunk/lib/darwin-9.x.universal/sdl/include/SDL.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_audio.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_cpuinfo.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_endian.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_error.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_events.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_joystick.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_keyboard.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_loadso.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_main.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_mouse.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_mutex.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_name.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_opengl.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_platform.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_quit.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_rwops.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_stdinc.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_syswm.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_thread.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_timer.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_types.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_version.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_video.h
trunk/lib/darwin-9.x.universal/sdl/include/begin_code.h
trunk/lib/darwin-9.x.universal/sdl/include/close_code.h

Added Paths:
---
trunk/lib/darwin-9.x.universal/sdl/include/SDL_assert.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_atomic.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_bits.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_blendmode.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_clipboard.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_android.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_iphoneos.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_macosx.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_minimal.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_pandora.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_psp.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_windows.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_winrt.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_config_wiz.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_copying.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_egl.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_filesystem.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_gamecontroller.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_gesture.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_haptic.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_hints.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_keycode.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_log.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_messagebox.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_opengles.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_opengles2.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_pixels.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_power.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_rect.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_render.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_revision.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_scancode.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_shape.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_surface.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_system.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_assert.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_common.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_compare.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_crc32.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_font.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_fuzzer.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_harness.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_images.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_log.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_md5.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_test_random.h
trunk/lib/darwin-9.x.universal/sdl/include/SDL_touch.h

Removed Paths:
-
trunk/lib/darwin-9.x.universal/sdl/include/SDL_active.h

[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61445] trunk/lib/ darwin-9.x.universal/sdl/lib/libSDL2.a: Bloody svn ignores binary files by default

2014-11-19 Thread Sergey Sharybin
Revision: 61445
  https://developer.blender.org/rBL61445
Author:   sergey
Date: 2014-11-19 18:39:05 + (Wed, 19 Nov 2014)
Log Message:
---
Bloody svn ignores binary files by default

Why can't it check we're committing libraries..

Added Paths:
---
trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a

Added: trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a
===
(Binary files differ)

Index: trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a
===
--- trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a2014-11-19 18:38:16 UTC 
(rev 61444)
+++ trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a2014-11-19 18:39:05 UTC 
(rev 61445)

Property changes on: trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a
___
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [82d2718] master: Switch to SDL2 on OSX

2014-11-19 Thread Sergey Sharybin
Commit: 82d2718c8fe463ef6461544dd69a4f76e835736d
Author: Sergey Sharybin
Date:   Wed Nov 19 19:41:41 2014 +0100
Branches: master
https://developer.blender.org/rB82d2718c8fe463ef6461544dd69a4f76e835736d

Switch to SDL2 on OSX

===

M   CMakeLists.txt
M   SConstruct
M   build_files/scons/config/darwin-config.py

===

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 924684c..d9f1d96 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1935,8 +1935,9 @@ elseif(APPLE)
if(WITH_SDL)
set(SDL ${LIBDIR}/sdl)
set(SDL_INCLUDE_DIR ${SDL}/include)
-   set(SDL_LIBRARY SDL)
+   set(SDL_LIBRARY SDL2)
set(SDL_LIBPATH ${SDL}/lib)
+   set(PLATFORM_LINKFLAGS ${PLATFORM_LINKFLAGS} -lazy_framework 
ForceFeedback)
endif()
 
set(PNG ${LIBDIR}/png)
diff --git a/SConstruct b/SConstruct
index dc60400..05d24c8 100644
--- a/SConstruct
+++ b/SConstruct
@@ -422,6 +422,9 @@ if env['OURPLATFORM']=='darwin':
 
env.Append(LINKFLAGS=['-F/Library/Frameworks','-Xlinker','-weak_framework','-Xlinker','Jackmp'])
 print B.bc.OKGREEN + Using Jack
 
+if env['WITH_BF_SDL']:
+env.Append(LINKFLAGS=['-lazy_framework','ForceFeedback'])
+
 if env['WITH_BF_QUICKTIME'] == 1:
 env['PLATFORM_LINKFLAGS'] = 
env['PLATFORM_LINKFLAGS']+['-framework','QTKit']
 
diff --git a/build_files/scons/config/darwin-config.py 
b/build_files/scons/config/darwin-config.py
index 338065e..96a6352 100644
--- a/build_files/scons/config/darwin-config.py
+++ b/build_files/scons/config/darwin-config.py
@@ -68,7 +68,7 @@ BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib ${BF_FFMPEG}/lib' 
#ogg libs are stored i
 WITH_BF_SDL = True
 BF_SDL = LIBDIR + '/sdl' #$(shell sdl-config --prefix)
 BF_SDL_INC = '${BF_SDL}/include' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
-BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) 
-lSDL_mixer
+BF_SDL_LIB = 'SDL2' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) 
-lSDL_mixer
 BF_SDL_LIBPATH = '${BF_SDL}/lib'
 
 WITH_BF_OPENEXR = True

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61446] trunk/lib/ darwin-9.x.universal/sdl/lib/libSDL2.a: Renew libSDL2

2014-11-19 Thread jens verwiebe
Revision: 61446
  https://developer.blender.org/rBL61446
Author:   jensverwiebe
Date: 2014-11-19 19:27:14 + (Wed, 19 Nov 2014)
Log Message:
---
Renew libSDL2

Modified Paths:
--
trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a

Modified: trunk/lib/darwin-9.x.universal/sdl/lib/libSDL2.a
===
(Binary files differ)

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [06df28e] mesh-transfer-data: Merge branch 'master' into mesh-transfer-data

2014-11-19 Thread Bastien Montagne
Commit: 06df28e1ea2cdd20cd4c604639f303128b953fab
Author: Bastien Montagne
Date:   Wed Nov 19 20:50:29 2014 +0100
Branches: mesh-transfer-data
https://developer.blender.org/rB06df28e1ea2cdd20cd4c604639f303128b953fab

Merge branch 'master' into mesh-transfer-data

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [0cb1c2c] master: Cleanup: #define - enums.

2014-11-19 Thread Bastien Montagne
Commit: 0cb1c2cdeebd62d15c29d57b20ace99377e22c8f
Author: Bastien Montagne
Date:   Wed Nov 19 20:48:35 2014 +0100
Branches: master
https://developer.blender.org/rB0cb1c2cdeebd62d15c29d57b20ace99377e22c8f

Cleanup: #define - enums.

===

M   source/blender/makesdna/DNA_ID.h
M   source/blender/makesdna/DNA_curve_types.h
M   source/blender/makesdna/DNA_dynamicpaint_types.h
M   source/blender/makesdna/DNA_freestyle_types.h

===

diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 33d1445..6454370 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -44,54 +44,65 @@ struct FileData;
 struct ID;
 struct PackedFile;
 struct GPUTexture;
-   
+
 typedef struct IDPropertyData {
void *pointer;
ListBase group;
-   int val, val2; /*note, we actually fit a double into these two ints*/
+   int val, val2;  /* note, we actually fit a double into these two ints */
 } IDPropertyData;
 
 typedef struct IDProperty {
struct IDProperty *next, *prev;
char type, subtype;
short flag;
-   char name[64];  /* MAX_IDPROP_NAME */
-   int saved; /* saved is used to indicate if this struct has been saved 
yet.
-   * seemed like a good idea as a pad var was needed anyway 
:)*/
-   IDPropertyData data;/* note, alignment for 64 bits */
-   int len; /* array length, also (this is important!) string length + 1.
- * the idea is to be able to reuse array realloc functions on 
strings.*/
+   char name[64];  /* MAX_IDPROP_NAME */
+
+   /* saved is used to indicate if this struct has been saved yet.
+* seemed like a good idea as a pad var was needed anyway :) */
+   int saved;
+   IDPropertyData data;  /* note, alignment for 64 bits */
+
+   /* array length, also (this is important!) string length + 1.
+* the idea is to be able to reuse array realloc functions on strings.*/
+   int len;
+
+   /* Strings and arrays are both buffered, though the buffer isn't saved. 
*/
/* totallen is total length of allocated array/string, including a 
buffer.
-* Note that the buffering is mild; the code comes from python's list 
implementation.*/
-   int totallen; /*strings and arrays are both buffered, though the buffer 
isn't saved.*/
+* Note that the buffering is mild; the code comes from python's list 
implementation. */
+   int totallen;
 } IDProperty;
 
-#define MAX_IDPROP_NAME64
-#define DEFAULT_ALLOC_FOR_NULL_STRINGS 64
+#define MAX_IDPROP_NAME 64
+#define DEFAULT_ALLOC_FOR_NULL_STRINGS  64
 
 /*-type*/
-#define IDP_STRING 0
-#define IDP_INT1
-#define IDP_FLOAT  2
-#define IDP_ARRAY  5
-#define IDP_GROUP  6
-/* the ID link property type hasn't been implemented yet, this will require
- * some cleanup of blenkernel, most likely.*/
-#define IDP_ID 7
-#define IDP_DOUBLE 8
-#define IDP_IDPARRAY   9
-#define IDP_NUMTYPES   10
+enum {
+   IDP_STRING   = 0,
+   IDP_INT  = 1,
+   IDP_FLOAT= 2,
+   IDP_ARRAY= 5,
+   IDP_GROUP= 6,
+   /* the ID link property type hasn't been implemented yet, this will 
require
+* some cleanup of blenkernel, most likely. */
+   IDP_ID   = 7,
+   IDP_DOUBLE   = 8,
+   IDP_IDPARRAY = 9,
+   IDP_NUMTYPES = 10,
+};
 
 /*-subtype */
 
 /* IDP_STRING */
-#define IDP_STRING_SUB_UTF8  0 /* default */
-#define IDP_STRING_SUB_BYTE  1 /* arbitrary byte array, _not_ null terminated 
*/
-/*-flag*/
-#define IDP_FLAG_GHOST (17)  /* this means the property is set but RNA will 
return
-* false when checking 'RNA_property_is_set',
-* currently this is a runtime flag */
+enum {
+   IDP_STRING_SUB_UTF8  = 0,  /* default */
+   IDP_STRING_SUB_BYTE  = 1,  /* arbitrary byte array, _not_ null 
terminated */
+};
 
+/*-flag*/
+enum {
+   IDP_FLAG_GHOST   = 1  7,  /* this means the property is set but 
RNA will return false when checking
+* 'RNA_property_is_set', currently 
this is a runtime flag */
+};
 
 /* add any future new id property types here.*/
 
@@ -102,7 +113,7 @@ typedef struct IDProperty {
  * */
 
 /* 2 characters for ID code and 64 for actual name */
-#define MAX_ID_NAME66
+#define MAX_ID_NAME  66
 
 /* There's a nasty circular dependency here 'void *' to the rescue! I
  * really wonder why this is needed. */
@@ -129,14 +140,14 @@ typedef struct Library {
ID id;
ID *idblock;
struct FileData *filedata;
-   char name[1024];/* path name used for 

[Bf-blender-cvs] [a34f723] experimental-build: Merge branch 'master' into experimental-build

2014-11-19 Thread Bastien Montagne
Commit: a34f7237996b8e678370927ea05cbfd1199ce79d
Author: Bastien Montagne
Date:   Wed Nov 19 20:51:10 2014 +0100
Branches: experimental-build
https://developer.blender.org/rBa34f7237996b8e678370927ea05cbfd1199ce79d

Merge branch 'master' into experimental-build

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [67b2406] experimental-build: Squashed commit of mesh-data-transfer branch.

2014-11-19 Thread Bastien Montagne
Commit: 67b24066c285f7a8e995cef96a0082497deb5a6a
Author: Bastien Montagne
Date:   Wed Nov 19 20:52:01 2014 +0100
Branches: experimental-build
https://developer.blender.org/rB67b24066c285f7a8e995cef96a0082497deb5a6a

Squashed commit of mesh-data-transfer branch.

===

M   release/scripts/startup/bl_ui/properties_data_modifier.py
M   release/scripts/startup/bl_ui/space_view3d.py
M   source/blender/blenkernel/BKE_bvhutils.h
M   source/blender/blenkernel/BKE_customdata.h
M   source/blender/blenkernel/BKE_deform.h
M   source/blender/blenkernel/BKE_mesh_mapping.h
A   source/blender/blenkernel/BKE_mesh_remap.h
A   source/blender/blenkernel/BKE_object_data_transfer.h
M   source/blender/blenkernel/BKE_object_deform.h
M   source/blender/blenkernel/CMakeLists.txt
M   source/blender/blenkernel/intern/DerivedMesh.c
M   source/blender/blenkernel/intern/bvhutils.c
M   source/blender/blenkernel/intern/customdata.c
A   source/blender/blenkernel/intern/data_transfer_intern.h
M   source/blender/blenkernel/intern/deform.c
M   source/blender/blenkernel/intern/mesh_mapping.c
A   source/blender/blenkernel/intern/mesh_remap.c
A   source/blender/blenkernel/intern/object_data_transfer.c
M   source/blender/blenlib/BLI_rand.h
M   source/blender/blenlib/intern/rand.c
M   source/blender/editors/object/CMakeLists.txt
A   source/blender/editors/object/object_data_transfer.c
M   source/blender/editors/object/object_intern.h
M   source/blender/editors/object/object_modifier.c
M   source/blender/editors/object/object_ops.c
M   source/blender/editors/space_outliner/outliner_draw.c
M   source/blender/makesdna/DNA_modifier_types.h
M   source/blender/makesrna/RNA_access.h
M   source/blender/makesrna/RNA_enum_types.h
M   source/blender/makesrna/intern/rna_modifier.c
M   source/blender/modifiers/CMakeLists.txt
M   source/blender/modifiers/MOD_modifiertypes.h
A   source/blender/modifiers/intern/MOD_datatransfer.c
M   source/blender/modifiers/intern/MOD_util.c

===

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py 
b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 7a96996..a224f9a 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1225,6 +1225,118 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
 col.prop(md, material_offset, text=Material Offset)
 
+def DATA_TRANSFER(self, layout, ob, md):
+row = layout.row(align=True)
+row.prop(md, object)
+sub = row.row(align=True)
+sub.active = bool(md.object)
+sub.prop(md, use_object_transform, text=, icon='GROUP')
+
+layout.separator()
+
+split = layout.split(0.333)
+split.prop(md, use_vert_data)
+use_vert = md.use_vert_data
+row = split.row()
+row.active = use_vert
+row.prop(md, vert_mapping, text=)
+if use_vert:
+col = layout.column(align=True)
+split = col.split(0.333, align=True)
+sub = split.column(align=True)
+sub.prop(md, data_types_verts_vgroup)
+row = split.row(align=True)
+row.prop(md, layers_vgroup_select_src, text=)
+row.label(icon='RIGHTARROW_THIN')
+row.prop(md, layers_vgroup_select_dst, text=)
+split = col.split(0.333, align=True)
+sub = split.column(align=True)
+sub.prop(md, data_types_verts)
+
+layout.separator()
+
+split = layout.split(0.333)
+split.prop(md, use_edge_data)
+use_edge = md.use_edge_data
+row = split.row()
+row.active = use_edge
+row.prop(md, edge_mapping, text=)
+if use_edge:
+col = layout.column(align=True)
+split = col.split(0.333, align=True)
+sub = split.column(align=True)
+sub.prop(md, data_types_edges)
+
+layout.separator()
+
+split = layout.split(0.333)
+split.prop(md, use_loop_data)
+use_loop = md.use_loop_data
+row = split.row()
+row.active = use_loop
+row.prop(md, loop_mapping, text=)
+if use_loop:
+col = layout.column(align=True)
+split = col.split(0.333, align=True)
+sub = split.column(align=True)
+sub.prop(md, data_types_loops)
+split = col.split(0.333, align=True)
+sub = split.column(align=True)
+sub.prop(md, data_types_loops_vcol)
+row = split.row(align=True)
+row.prop(md, layers_vcol_select_src, text=)
+row.label(icon='RIGHTARROW')
+row.prop(md, layers_vcol_select_dst, text=)
+split = col.split(0.333, 

[Bf-blender-cvs] [190e0bb] experimental-build: Revert Squashed commit of mesh-data-transfer branch.

2014-11-19 Thread Bastien Montagne
Commit: 190e0bbd2dd76f4615d7862de1c221d471a763b2
Author: Bastien Montagne
Date:   Wed Nov 19 20:53:58 2014 +0100
Branches: experimental-build
https://developer.blender.org/rB190e0bbd2dd76f4615d7862de1c221d471a763b2

Revert Squashed commit of mesh-data-transfer branch.

This reverts commit 67b24066c285f7a8e995cef96a0082497deb5a6a.

===

M   release/scripts/startup/bl_ui/properties_data_modifier.py
M   release/scripts/startup/bl_ui/space_view3d.py
M   source/blender/blenkernel/BKE_bvhutils.h
M   source/blender/blenkernel/BKE_customdata.h
M   source/blender/blenkernel/BKE_deform.h
M   source/blender/blenkernel/BKE_mesh_mapping.h
D   source/blender/blenkernel/BKE_mesh_remap.h
D   source/blender/blenkernel/BKE_object_data_transfer.h
M   source/blender/blenkernel/BKE_object_deform.h
M   source/blender/blenkernel/CMakeLists.txt
M   source/blender/blenkernel/intern/DerivedMesh.c
M   source/blender/blenkernel/intern/bvhutils.c
M   source/blender/blenkernel/intern/customdata.c
D   source/blender/blenkernel/intern/data_transfer_intern.h
M   source/blender/blenkernel/intern/deform.c
M   source/blender/blenkernel/intern/mesh_mapping.c
D   source/blender/blenkernel/intern/mesh_remap.c
D   source/blender/blenkernel/intern/object_data_transfer.c
M   source/blender/blenlib/BLI_rand.h
M   source/blender/blenlib/intern/rand.c
M   source/blender/editors/object/CMakeLists.txt
D   source/blender/editors/object/object_data_transfer.c
M   source/blender/editors/object/object_intern.h
M   source/blender/editors/object/object_modifier.c
M   source/blender/editors/object/object_ops.c
M   source/blender/editors/space_outliner/outliner_draw.c
M   source/blender/makesdna/DNA_modifier_types.h
M   source/blender/makesrna/RNA_access.h
M   source/blender/makesrna/RNA_enum_types.h
M   source/blender/makesrna/intern/rna_modifier.c
M   source/blender/modifiers/CMakeLists.txt
M   source/blender/modifiers/MOD_modifiertypes.h
D   source/blender/modifiers/intern/MOD_datatransfer.c
M   source/blender/modifiers/intern/MOD_util.c

===

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py 
b/release/scripts/startup/bl_ui/properties_data_modifier.py
index a224f9a..7a96996 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1225,118 +1225,6 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
 col.prop(md, material_offset, text=Material Offset)
 
-def DATA_TRANSFER(self, layout, ob, md):
-row = layout.row(align=True)
-row.prop(md, object)
-sub = row.row(align=True)
-sub.active = bool(md.object)
-sub.prop(md, use_object_transform, text=, icon='GROUP')
-
-layout.separator()
-
-split = layout.split(0.333)
-split.prop(md, use_vert_data)
-use_vert = md.use_vert_data
-row = split.row()
-row.active = use_vert
-row.prop(md, vert_mapping, text=)
-if use_vert:
-col = layout.column(align=True)
-split = col.split(0.333, align=True)
-sub = split.column(align=True)
-sub.prop(md, data_types_verts_vgroup)
-row = split.row(align=True)
-row.prop(md, layers_vgroup_select_src, text=)
-row.label(icon='RIGHTARROW_THIN')
-row.prop(md, layers_vgroup_select_dst, text=)
-split = col.split(0.333, align=True)
-sub = split.column(align=True)
-sub.prop(md, data_types_verts)
-
-layout.separator()
-
-split = layout.split(0.333)
-split.prop(md, use_edge_data)
-use_edge = md.use_edge_data
-row = split.row()
-row.active = use_edge
-row.prop(md, edge_mapping, text=)
-if use_edge:
-col = layout.column(align=True)
-split = col.split(0.333, align=True)
-sub = split.column(align=True)
-sub.prop(md, data_types_edges)
-
-layout.separator()
-
-split = layout.split(0.333)
-split.prop(md, use_loop_data)
-use_loop = md.use_loop_data
-row = split.row()
-row.active = use_loop
-row.prop(md, loop_mapping, text=)
-if use_loop:
-col = layout.column(align=True)
-split = col.split(0.333, align=True)
-sub = split.column(align=True)
-sub.prop(md, data_types_loops)
-split = col.split(0.333, align=True)
-sub = split.column(align=True)
-sub.prop(md, data_types_loops_vcol)
-row = split.row(align=True)
-row.prop(md, layers_vcol_select_src, text=)
-row.label(icon='RIGHTARROW')
-row.prop(md, 

[Bf-blender-cvs] [0756fe2] master: Cleanup: Remove SD_BSDF_GLOSSY flag, unused.

2014-11-19 Thread Thomas Dinges
Commit: 0756fe268464ff7441ff247f278aac57b35483e8
Author: Thomas Dinges
Date:   Thu Nov 20 07:53:22 2014 +0100
Branches: master
https://developer.blender.org/rB0756fe268464ff7441ff247f278aac57b35483e8

Cleanup: Remove SD_BSDF_GLOSSY flag, unused.

===

M   intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h
M   intern/cycles/kernel/closure/bsdf_hair.h
M   intern/cycles/kernel/closure/bsdf_microfacet.h
M   intern/cycles/kernel/closure/bsdf_phong_ramp.h
M   intern/cycles/kernel/kernel_types.h

===

diff --git a/intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h 
b/intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h
index 1a1c1af..b94bdee 100644
--- a/intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h
+++ b/intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h
@@ -37,7 +37,7 @@ ccl_device int bsdf_ashikhmin_shirley_setup(ShaderClosure *sc)
sc-data1 = sc-data0;
 
sc-type = CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID;
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device int bsdf_ashikhmin_shirley_aniso_setup(ShaderClosure *sc)
@@ -46,7 +46,7 @@ ccl_device int 
bsdf_ashikhmin_shirley_aniso_setup(ShaderClosure *sc)
sc-data1 = clamp(sc-data1, 1e-4f, 1.0f);
 
sc-type = CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ANISO_ID;
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device void bsdf_ashikhmin_shirley_blur(ShaderClosure *sc, float roughness)
diff --git a/intern/cycles/kernel/closure/bsdf_hair.h 
b/intern/cycles/kernel/closure/bsdf_hair.h
index e0b5454..4f4fd5d 100644
--- a/intern/cycles/kernel/closure/bsdf_hair.h
+++ b/intern/cycles/kernel/closure/bsdf_hair.h
@@ -49,7 +49,7 @@ ccl_device int bsdf_hair_reflection_setup(ShaderClosure *sc)
sc-type = CLOSURE_BSDF_HAIR_REFLECTION_ID;
sc-data0 = clamp(sc-data0, 0.001f, 1.0f);
sc-data1 = clamp(sc-data1, 0.001f, 1.0f);
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device int bsdf_hair_transmission_setup(ShaderClosure *sc)
@@ -57,7 +57,7 @@ ccl_device int bsdf_hair_transmission_setup(ShaderClosure *sc)
sc-type = CLOSURE_BSDF_HAIR_TRANSMISSION_ID;
sc-data0 = clamp(sc-data0, 0.001f, 1.0f);
sc-data1 = clamp(sc-data1, 0.001f, 1.0f);
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device float3 bsdf_hair_reflection_eval_reflect(const ShaderClosure *sc, 
const float3 I, const float3 omega_in, float *pdf)
diff --git a/intern/cycles/kernel/closure/bsdf_microfacet.h 
b/intern/cycles/kernel/closure/bsdf_microfacet.h
index 8737b0e..9561885 100644
--- a/intern/cycles/kernel/closure/bsdf_microfacet.h
+++ b/intern/cycles/kernel/closure/bsdf_microfacet.h
@@ -305,7 +305,7 @@ ccl_device int bsdf_microfacet_ggx_setup(ShaderClosure *sc)

sc-type = CLOSURE_BSDF_MICROFACET_GGX_ID;
 
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device int bsdf_microfacet_ggx_aniso_setup(ShaderClosure *sc)
@@ -315,7 +315,7 @@ ccl_device int 
bsdf_microfacet_ggx_aniso_setup(ShaderClosure *sc)

sc-type = CLOSURE_BSDF_MICROFACET_GGX_ANISO_ID;
 
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device int bsdf_microfacet_ggx_refraction_setup(ShaderClosure *sc)
@@ -325,7 +325,7 @@ ccl_device int 
bsdf_microfacet_ggx_refraction_setup(ShaderClosure *sc)
 
sc-type = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID;
 
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device void bsdf_microfacet_ggx_blur(ShaderClosure *sc, float roughness)
@@ -657,7 +657,7 @@ ccl_device int bsdf_microfacet_beckmann_setup(ShaderClosure 
*sc)
sc-data1 = sc-data0; /* alpha_y */
 
sc-type = CLOSURE_BSDF_MICROFACET_BECKMANN_ID;
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device int bsdf_microfacet_beckmann_aniso_setup(ShaderClosure *sc)
@@ -666,7 +666,7 @@ ccl_device int 
bsdf_microfacet_beckmann_aniso_setup(ShaderClosure *sc)
sc-data1 = clamp(sc-data1, 0.0f, 1.0f); /* alpha_y */
 
sc-type = CLOSURE_BSDF_MICROFACET_BECKMANN_ANISO_ID;
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return SD_BSDF|SD_BSDF_HAS_EVAL;
 }
 
 ccl_device int bsdf_microfacet_beckmann_refraction_setup(ShaderClosure *sc)
@@ -675,7 +675,7 @@ ccl_device int 
bsdf_microfacet_beckmann_refraction_setup(ShaderClosure *sc)
sc-data1 = sc-data0; /* alpha_y */
 
sc-type = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID;
-   return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
+   return