[Bf-blender-cvs] [bc16b4f] wiggly-widgets: Fix widget scale option not having influence with '3D Widgets' enabled

Julian Eisel noreply at git.blender.org
Mon Feb 29 03:18:03 CET 2016


Commit: bc16b4f6cc4b3434ca3edeeefd0aa08f1034ea5f
Author: Julian Eisel
Date:   Mon Feb 29 03:07:35 2016 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBbc16b4f6cc4b3434ca3edeeefd0aa08f1034ea5f

Fix widget scale option not having influence with '3D Widgets' enabled

===================================================================

M	source/blender/makesrna/intern/rna_userdef.c
M	source/blender/windowmanager/widgets/intern/wm_widget.c

===================================================================

diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index a0627ea..24347c5 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -3550,7 +3550,7 @@ static void rna_def_userdef_view(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "3D Widgets", "Use 3D view world space for widget sizes");
 	RNA_def_property_update(prop, 0, "rna_userdef_update");
 	
-	prop = RNA_def_property(srna, "manipulator_size", PROP_INT, PROP_PIXEL);
+	prop = RNA_def_property(srna, "manipulator_size", PROP_INT, PROP_NONE);
 	RNA_def_property_int_sdna(prop, NULL, "tw_size");
 	RNA_def_property_range(prop, 10, 200);
 	RNA_def_property_int_default(prop, 75);
diff --git a/source/blender/windowmanager/widgets/intern/wm_widget.c b/source/blender/windowmanager/widgets/intern/wm_widget.c
index ec9fd7c..a349d6d 100644
--- a/source/blender/windowmanager/widgets/intern/wm_widget.c
+++ b/source/blender/windowmanager/widgets/intern/wm_widget.c
@@ -379,15 +379,20 @@ void wm_widget_calculate_scale(wmWidget *widget, const bContext *C)
 	const RegionView3D *rv3d = CTX_wm_region_view3d(C);
 	float scale = 1.0f;
 
-	if (rv3d && (U.tw_flag & V3D_3D_WIDGETS) == 0 && (widget->flag & WM_WIDGET_SCALE_3D)) {
-		if (widget->get_final_position) {
-			float position[3];
+	if (widget->flag & WM_WIDGET_SCALE_3D) {
+		if (rv3d && (U.tw_flag & V3D_3D_WIDGETS) == 0) {
+			if (widget->get_final_position) {
+				float position[3];
 
-			widget->get_final_position(widget, position);
-			scale = ED_view3d_pixel_size(rv3d, position) * (float)U.tw_size;
+				widget->get_final_position(widget, position);
+				scale = ED_view3d_pixel_size(rv3d, position) * (float)U.tw_size;
+			}
+			else {
+				scale = ED_view3d_pixel_size(rv3d, widget->origin) * (float)U.tw_size;
+			}
 		}
 		else {
-			scale = ED_view3d_pixel_size(rv3d, widget->origin) * (float)U.tw_size;
+			scale = U.tw_size * 0.02f;
 		}
 	}




More information about the Bf-blender-cvs mailing list