[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25797] trunk/blender/source/blender/ editors/interface/interface_ops.c: Fix for eyedropper not calling proper updates.

Matt Ebb matt at mke3.net
Thu Jan 7 12:37:57 CET 2010


Revision: 25797
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25797
Author:   broken
Date:     2010-01-07 12:37:57 +0100 (Thu, 07 Jan 2010)

Log Message:
-----------
Fix for eyedropper not calling proper updates. Silly!

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_ops.c

Modified: trunk/blender/source/blender/editors/interface/interface_ops.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_ops.c	2010-01-07 11:09:29 UTC (rev 25796)
+++ trunk/blender/source/blender/editors/interface/interface_ops.c	2010-01-07 11:37:57 UTC (rev 25797)
@@ -92,7 +92,7 @@
 	return OPERATOR_CANCELLED;
 }
 
-static void eyedropper_sample(Eyedropper *eye, short mx, short my)
+static void eyedropper_sample(bContext *C, Eyedropper *eye, short mx, short my)
 {
 	float col[3];
 		
@@ -109,46 +109,11 @@
 			srgb_to_linearrgb_v3_v3(col, col);
 		
 		RNA_property_float_set_array(&eye->ptr, eye->prop, col);
+		
+		RNA_property_update(C, &eye->ptr, eye->prop);
 	}
 }
 
-static void eyedropper_notify(bContext *C, wmOperator *op)
-{
-	Eyedropper *eye = (Eyedropper *)op->customdata;
-	ID *id;
-	
-	id= eye->ptr.id.data;
-	
-	if (!id) return;
-	
-	switch (GS(id->name)) {
-		case ID_OB:
-			WM_event_add_notifier(C, NC_OBJECT, NULL);
-			break;
-		case ID_MA:
-			WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING_DRAW, NULL);
-			break;
-		case ID_TE:
-			WM_event_add_notifier(C, NC_TEXTURE, NULL);
-			break;
-		case ID_LA:
-			WM_event_add_notifier(C, NC_LAMP, NULL);
-			break;
-		case ID_WO:
-			WM_event_add_notifier(C, NC_WORLD, NULL);
-			break;
-		case ID_SCE:
-			WM_event_add_notifier(C, NC_SCENE, NULL);
-			break;
-		case ID_BR:
-			WM_event_add_notifier(C, NC_BRUSH, NULL);
-			break;
-		case ID_NT:
-			WM_event_add_notifier(C, NC_NODE, NULL);
-			break;
-	}
-}
-
 /* main modal status check */
 static int eyedropper_modal(bContext *C, wmOperator *op, wmEvent *event)
 {
@@ -160,8 +125,7 @@
 			return eyedropper_cancel(C, op);
 		case LEFTMOUSE:
 			if(event->val==KM_RELEASE) {
-				eyedropper_sample(eye, event->x, event->y);
-				eyedropper_notify(C, op);
+				eyedropper_sample(C, eye, event->x, event->y);
 				eyedropper_exit(C, op);
 				return OPERATOR_FINISHED;
 			}





More information about the Bf-blender-cvs mailing list