[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