[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18690] trunk/blender/intern/ghost/intern/ GHOST_SystemX11.cpp: [#17850] Copying text from Eric4 to Blender crashes Blender

2009-01-27 Thread Campbell Barton
Revision: 18690
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18690
Author:   campbellbarton
Date: 2009-01-27 09:17:35 +0100 (Tue, 27 Jan 2009)

Log Message:
---
[#17850] Copying text from Eric4 to Blender crashes Blender
The crash is caused by calling XGetWindowProperty when 
xevent.xselection.property is zero.
Not a proper fix because clipboard can paste the data without trouble.

Modified Paths:
--
trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
===
--- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp   2009-01-27 
05:04:23 UTC (rev 18689)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp   2009-01-27 
08:17:35 UTC (rev 18690)
@@ -1031,15 +1031,20 @@
//This needs to change so we do not wait for ever or check owner first
while(1) {
XNextEvent(m_display, &xevent);
-   if(xevent.type == SelectionNotify) {
-   if(XGetWindowProperty(m_display, m_window, 
xevent.xselection.property, 0L, 4096L, False, AnyPropertyType, &rtype, &bits, 
&len, &bytes, &data) == Success) {
-   if (data) {
-   tmp_data = (unsigned char*) 
malloc(strlen((char*)data)+1);
-   strcpy((char*)tmp_data, (char*)data);
-   XFree(data);
-   return (GHOST_TUns8*)tmp_data;
+   if(xevent.type == SelectionNotify) { 
+   if (xevent.xselection.property ) { /* eric4 on linux 
gives zero Atom xevent.xselection.property value, closes blender instantly */
+   if(XGetWindowProperty(m_display, m_window, 
xevent.xselection.property , 0L, 4096L, False, AnyPropertyType, &rtype, &bits, 
&len, &bytes, &data) == Success) {
+   if (data) {
+   tmp_data = (unsigned char*) 
malloc(strlen((char*)data)+1);
+   strcpy((char*)tmp_data, 
(char*)data);
+   XFree(data);
+   return (GHOST_TUns8*)tmp_data;
+   }
}
}
+   else {
+   fprintf(stderr, "error: cut buffer had a zero 
xevent.xselection.property, FIXME\n"); // XXX fix this problem!
+   }
return NULL;
}
}


___
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/bf-blender [18691] branches/blender2.5/blender/source /blender/editors/interface/interface_regions.c: 2.5

2009-01-27 Thread Ton Roosendaal
Revision: 18691
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18691
Author:   ton
Date: 2009-01-27 09:36:09 +0100 (Tue, 27 Jan 2009)

Log Message:
---
2.5

Fix: icons didnt show for uiMenu api.

Modified Paths:
--

branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
===
--- 
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
2009-01-27 08:17:35 UTC (rev 18690)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
2009-01-27 08:36:09 UTC (rev 18691)
@@ -2202,7 +2202,7 @@
name= ui_menu_enumpropname(opptr, item->propname, 
item->retval);
BLI_strncpy(bname, name, 64);

-   but= uiDefIconTextBut(block, BUTM, item->retval, 
ICON_BLANK1, bname, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, NULL, 0.0, 0.0, 0, 
0, "");
+   but= uiDefIconTextBut(block, BUTM, item->retval, 
item->icon, bname, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, NULL, 0.0, 0.0, 0, 
0, "");

but->opptr= opptr;
but->opname= item->opname;
@@ -2211,7 +2211,7 @@
y1 -= MENU_BUTTON_HEIGHT;
}
else if(item->type==MENU_ITEM_OPNAME) {
-   uiDefIconTextButO(block, BUTM, item->opname, 
head->opcontext, ICON_BLANK1, NULL, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, 
NULL);
+   uiDefIconTextButO(block, BUTM, item->opname, 
head->opcontext, item->icon, NULL, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, 
NULL);
y1 -= MENU_BUTTON_HEIGHT;
}
else {


___
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/bf-blender [18692] branches/blender2.5/blender/source /blender/editors: Graph Editor:

2009-01-27 Thread Joshua Leung
Revision: 18692
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18692
Author:   aligorith
Date: 2009-01-27 12:09:30 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Graph Editor: 

* Cleaned up code for borderselect with BKEY. There's still a bug here where 
y-values don't seem to be getting properly checked, so nothing seems to happen.

* Set up some code for transforming keyframes. It currently uses the wrong code 
though (i.e. it uses the code for Action Editor which is 1D not 2D, and doesn't 
have some of the special checks needed). More work on this later.

Modified Paths:
--

branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c

branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_draw.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c
branches/blender2.5/blender/source/blender/editors/transform/transform.c

branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c
===
--- 
branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c   
2009-01-27 08:36:09 UTC (rev 18691)
+++ 
branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c   
2009-01-27 11:09:30 UTC (rev 18692)
@@ -38,7 +38,6 @@
 #include "DNA_action_types.h"
 #include "DNA_constraint_types.h"
 #include "DNA_curve_types.h"
-#include "DNA_ipo_types.h" // XXX to be phased out
 #include "DNA_key_types.h"
 #include "DNA_object_types.h"
 #include "DNA_space_types.h"
@@ -56,7 +55,7 @@
 /* This file defines an API and set of callback-operators for non-destructive 
editing of keyframe data.
  *
  * Two API functions are defined for actually performing the operations on the 
data:
- * ipo_keys_bezier_loop() and icu_keys_bezier_loop()
+ * ANIM_fcurve_keys_bezier_loop()
  * which take the data they operate on, a few callbacks defining what 
operations to perform.
  *
  * As operators which work on keyframes usually apply the same operation on 
all BezTriples in 
@@ -84,6 +83,10 @@
 BezTriple *bezt;
int b;

+   /* sanity check */
+   if (fcu == NULL)
+   return 0;
+   
/* if function to apply to bezier curves is set, then loop through 
executing it on beztriples */
 if (bezt_cb) {
/* if there's a validation func, include that check in the loop 
@@ -233,7 +236,22 @@
return IS_EQ(bezt->vec[1][1], bed->f1);
 }
 
+static short ok_bezier_valuerange(BeztEditData *bed, BezTriple *bezt)
+{
+   /* value range is stored in float properties */
+   return ((bezt->vec[1][1] > bed->f1) && (bezt->vec[1][1] < bed->f2));
+}
 
+static short ok_bezier_region(BeztEditData *bed, BezTriple *bezt)
+{
+   /* rect is stored in data property (it's of type rectf, but may not be 
set) */
+   if (bed->data)
+   return BLI_in_rctf(bed->data, bezt->vec[1][0], bezt->vec[1][1]);
+   else 
+   return 0;
+}
+
+
 BeztEditFunc ANIM_editkeyframes_ok(short mode)
 {
/* eEditKeyframes_Validate */
@@ -242,10 +260,14 @@
return ok_bezier_frame;
case BEZT_OK_FRAMERANGE: /* only if bezt falls within the 
specified frame range (floats) */
return ok_bezier_framerange;
-   case BEZT_OK_SELECTED:  /* only if bezt is selected */
+   case BEZT_OK_SELECTED:  /* only if bezt is selected (self) */
return ok_bezier_selected;
case BEZT_OK_VALUE: /* only if bezt value matches (float) */
return ok_bezier_value;
+   case BEZT_OK_VALUERANGE: /* only if bezier falls within the 
specified value range (floats) */
+   return ok_bezier_valuerange;
+   case BEZT_OK_REGION: /* only if bezier falls within the 
specified rect (data -> rectf) */
+   return ok_bezier_region;
default: /* nothing was ok */
return NULL;
}
@@ -355,7 +377,7 @@
 }
 
 /* Note: for markers case, need to set global vars (eww...) */
-// calchandles_ipocurve
+// calchandles_fcurve
 BeztEditFunc ANIM_editkeyframes_mirror(short type)
 {
switch (type) {
@@ -437,7 +459,7 @@
 }
 
 /* Set all Bezier Handles to a single type */
-// calchandles_ipocurve
+// calchandles_fcurve
 BeztEditFunc ANIM_editkeyframes_handles(short code)
 {
switch (code) {
@@ -460,21 +482,21 @@
 static short set_bezt_constant(BeztEditData *bed, BezTriple *bezt) 
 {
if (bezt->f2 & SELECT) 
-   be

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18693] branches/blender2.5/blender/source /blender/editors/space_ipo/ipo_select.c: Quick fix - Alt-B in Graph Editor works again...

2009-01-27 Thread Joshua Leung
Revision: 18693
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18693
Author:   aligorith
Date: 2009-01-27 12:14:02 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Quick fix - Alt-B in Graph Editor works again... normal BKEY still doesn't 
though

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c

Modified: 
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c
===
--- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c   
2009-01-27 11:09:30 UTC (rev 18692)
+++ branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c   
2009-01-27 11:14:02 UTC (rev 18693)
@@ -237,6 +237,10 @@
bed.f2= rectf.xmax;
}
}
+   else {
+   bed.f1= rectf.ymin;
+   bed.f2= rectf.ymax;
+   }

/* select keyframes that are in the appropriate places */
ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, 
select_cb, NULL);


___
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/bf-blender [18694] branches/blender2.5/blender/source /blender: Animato - Bugfixes + More conversion code

2009-01-27 Thread Joshua Leung
Revision: 18694
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18694
Author:   aligorith
Date: 2009-01-27 12:31:30 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Animato - Bugfixes + More conversion code

* BorderSelect in Graph Editor now works. Was a silly 1 char missing typo.
* Added conversion code for lamps and hooked up code for constraints.

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c  
2009-01-27 11:14:02 UTC (rev 18693)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c  
2009-01-27 11:31:30 UTC (rev 18694)
@@ -263,6 +263,8 @@
case CO_HEADTAIL:   // XXX this needs to be wrapped in 
RNA.. probably then this path will be invalid
return "data.head_tail";
}
+   
+   return NULL;
 }
 
 /* ShapeKey types 
@@ -497,6 +499,71 @@
return NULL;
 }
 
+/* Lamp Types */
+static char *lamp_adrcodes_to_paths (int adrcode, int *array_index)
+{
+   /* set array index like this in-case nothing sets it correctly  */
+   *array_index= 0;
+   
+   /* result depends on adrcode */
+   switch (adrcode) {
+   case LA_ENERGY:
+   return "energy";
+   
+   case LA_COL_R:
+   *array_index= 0;  return "color";
+   case LA_COL_G:
+   *array_index= 1;  return "color";
+   case LA_COL_B:
+   *array_index= 2;  return "color";
+   
+   case LA_DIST:
+   return "distance";
+   
+   case LA_SPOTSI:
+   return "spot_size";
+   case LA_SPOTBL:
+   return "spot_blend";
+   
+   case LA_QUAD1:
+   return "linear_attenuation";
+   case LA_QUAD2:
+   return "quadratic_attenuation";
+   
+   case LA_HALOINT:
+   return "halo_intensity";
+   }
+   
+#if 0 // XXX to be converted
+   if (poin == NULL) {
+   if (icu->adrcode & MA_MAP1) mtex= la->mtex[0];
+   else if (icu->adrcode & MA_MAP2) mtex= la->mtex[1];
+   else if (icu->adrcode & MA_MAP3) mtex= la->mtex[2];
+   else if (icu->adrcode & MA_MAP4) mtex= la->mtex[3];
+   else if (icu->adrcode & MA_MAP5) mtex= la->mtex[4];
+   else if (icu->adrcode & MA_MAP6) mtex= la->mtex[5];
+   else if (icu->adrcode & MA_MAP7) mtex= la->mtex[6];
+   else if (icu->adrcode & MA_MAP8) mtex= la->mtex[7];
+   else if (icu->adrcode & MA_MAP9) mtex= la->mtex[8];
+   else if (icu->adrcode & MA_MAP10) mtex= la->mtex[9];
+   else if (icu->adrcode & MA_MAP11) mtex= la->mtex[10];
+   else if (icu->adrcode & MA_MAP12) mtex= la->mtex[11];
+   else if (icu->adrcode & MA_MAP13) mtex= la->mtex[12];
+   else if (icu->adrcode & MA_MAP14) mtex= la->mtex[13];
+   else if (icu->adrcode & MA_MAP15) mtex= la->mtex[14];
+   else if (icu->adrcode & MA_MAP16) mtex= la->mtex[15];
+   else if (icu->adrcode & MA_MAP17) mtex= la->mtex[16];
+   else if (icu->adrcode & MA_MAP18) mtex= la->mtex[17];
+   
+   if (mtex)
+   poin= give_mtex_poin(mtex, (icu->adrcode & 
(MA_MAP1-1)));
+   }
+#endif // XXX to be converted
+   
+   /* unrecognised adrcode, or not-yet-handled ones! */
+   return NULL;
+}
+
 /* --- */
 
 /* Allocate memory for RNA-path for some property given a blocktype, adrcode, 
and 'root' parts of path
@@ -528,6 +595,10 @@
propname= shapekey_adrcodes_to_paths(adrcode, 
&dummy_index);
break;

+   case ID_CO: /* constraint */
+   propname= constraint_adrcodes_to_paths(adrcode, 
&dummy_index);
+   break;
+   
case ID_TE: /* texture */
propname= texture_adrcodes_to_paths(adrcode, 
&dummy_index);
break;
@@ -540,6 +611,10 @@
propname= camera_adrcodes_to_paths(adrcode, 
&dummy_index);
break;
  

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18695] branches/blender2.5/blender/source /blender/editors/space_ipo/Makefile: 2.5

2009-01-27 Thread Ton Roosendaal
Revision: 18695
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18695
Author:   ton
Date: 2009-01-27 13:49:44 +0100 (Tue, 27 Jan 2009)

Log Message:
---
2.5

Make space_ipo compile for make

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile

Modified: branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile
===
--- branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile   
2009-01-27 11:31:30 UTC (rev 18694)
+++ branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile   
2009-01-27 12:49:44 UTC (rev 18695)
@@ -44,6 +44,7 @@
 CPPFLAGS += -I../../blenkernel
 CPPFLAGS += -I../../blenlib
 CPPFLAGS += -I../../makesdna
+CPPFLAGS += -I../../makesrna
 CPPFLAGS += -I../../imbuf
 CPPFLAGS += -I../../python
 CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include


___
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/bf-blender [18696] branches/blender2.5/blender/source /blender: 2.5

2009-01-27 Thread Ton Roosendaal
Revision: 18696
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18696
Author:   ton
Date: 2009-01-27 18:12:40 +0100 (Tue, 27 Jan 2009)

Log Message:
---
2.5

Compositor now uses threaded jobs.

- updates happen per preview node! Check this file for
  fun: http://www.blender.org/bf/composite_image.blend
  (any compo node could get preview!)
- had to ensure the composite data gets fully copied before
  it executes thread, so editing is not frustrated.
- put back node buttons (missing init)
- added WM_jobs api call to check for running job,
  illustrated with red light icon in 'use nodes' button.
- added another callback to WM_jobs, to initialize.
  use this init to ensure you only do it when job really
  starts.
- added an extra notifier option for WM_jobs, to signal
  finished job (like redraw image view)
- fixed file read error, it copied the screen it read,
  instead of using it.
- commented out annoying prints for missing ops in imagewin

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h
branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
branches/blender2.5/blender/source/blender/editors/preview/previewrender.c

branches/blender2.5/blender/source/blender/editors/space_image/image_header.c
branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c
branches/blender2.5/blender/source/blender/editors/space_node/node_draw.c
branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
branches/blender2.5/blender/source/blender/editors/space_node/node_header.c
branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h
branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c
branches/blender2.5/blender/source/blender/editors/space_node/space_node.c
branches/blender2.5/blender/source/blender/makesdna/DNA_node_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c

branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_jobs.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c

Added Paths:
---
branches/blender2.5/blender/source/blender/editors/include/ED_node.h

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h
===
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h
2009-01-27 12:49:44 UTC (rev 18695)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h
2009-01-27 17:12:40 UTC (rev 18696)
@@ -106,6 +106,7 @@
 #define NODE_BREAK 2
 #define NODE_FINISHED  4
 #define NODE_FREEBUFS  8
+#define NODE_SKIPPED   16
 
 /* nodetype->nclass, for add-menu and themes */
 #define NODE_CLASS_INPUT   0
@@ -148,6 +149,11 @@
 void   ntreeClearPreview(struct bNodeTree *ntree);
 
 void   ntreeFreeCache(struct bNodeTree *ntree);
+   
+   /* calls allowing threaded composite */
+struct bNodeTree *ntreeLocalize(struct bNodeTree *ntree);
+void   ntreeLocalSync(struct bNodeTree *localtree, struct 
bNodeTree *ntree);
+void   ntreeLocalMerge(struct bNodeTree *localtree, struct 
bNodeTree *ntree);
 
 /* ** GENERIC API, NODES *** */
 

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 
2009-01-27 12:49:44 UTC (rev 18695)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 
2009-01-27 17:12:40 UTC (rev 18696)
@@ -1158,6 +1158,104 @@
return newtree;
 }
 
+/* *** preview *** */
+/* if node->preview, then we assume the rect to exist */
+
+static void node_free_preview(bNode *node)
+{
+   if(node->preview) {
+   if(node->preview->rect)
+   MEM_freeN(node->preview->rect);
+   MEM_freeN(node->preview);
+   node->preview= NULL;
+   }   
+}
+
+static void node_init_preview(bNode *node, int xsize, int ysize)
+{
+   
+   if(node->preview==NULL) {
+   node->preview= MEM_callocN(sizeof(bNodePreview), "node 
preview");
+ 

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18697] branches/blender2.5/blender/source /blender/editors/space_node/drawnode.c: 2.5

2009-01-27 Thread Ton Roosendaal
Revision: 18697
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18697
Author:   ton
Date: 2009-01-27 18:54:49 +0100 (Tue, 27 Jan 2009)

Log Message:
---
2.5

Crash in node editor, when you start a new composite.
Was missing check for scene pointer

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c

Modified: 
branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c
===
--- branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c
2009-01-27 17:12:40 UTC (rev 18696)
+++ branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c
2009-01-27 17:54:49 UTC (rev 18697)
@@ -1069,8 +1069,8 @@
 
 static int node_composit_buts_renderlayers(uiBlock *block, bNodeTree *ntree, 
bNode *node, rctf *butr)
 {
-   if(block) {
-   Scene *scene= NULL; // XXX CTX_data_scene(C) can't work here. 
node->id has to be set default (ton) 
+   if(block && node->id) {
+   Scene *scene= (Scene *)node->id;
uiBut *bt;
char *strp;



___
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/bf-blender [18698] branches/blender2.5/blender/source /blender/editors/space_file/file_draw.c: 2.5

2009-01-27 Thread Ton Roosendaal
Revision: 18698
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18698
Author:   ton
Date: 2009-01-27 19:10:14 +0100 (Tue, 27 Jan 2009)

Log Message:
---
2.5

Bugfix; preventing crash on dividing by zero int.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c

Modified: 
branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
===
--- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c   
2009-01-27 17:54:49 UTC (rev 18697)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c   
2009-01-27 18:10:14 UTC (rev 18698)
@@ -293,7 +293,10 @@
sfile->tile_h = sfile->prv_h + 4*sfile->prv_border_y + 
U.fontsize*3/2;
width= (v2d->cur.xmax - v2d->cur.xmin - 2*sfile->tile_border_x);
columns= file_view_columns(sfile, v2d);
-   rows= filelist_numfiles(sfile->files)/columns + 1; // XXX 
dirty, modulo is zero
+   if(columns)
+   rows= filelist_numfiles(sfile->files)/columns + 1; // 
XXX dirty, modulo is zero
+   else
+   rows= filelist_numfiles(sfile->files) + 1; // XXX 
dirty, modulo is zero
height= rows*(sfile->tile_h+2*sfile->tile_border_y) + 
sfile->tile_border_y*2;
} else {
sfile->prv_w = 0;
@@ -306,7 +309,11 @@
sfile->tile_h = U.fontsize*3/2;
height= v2d->cur.ymax - v2d->cur.ymin;
rows = file_view_rows(sfile, v2d);
-   columns = filelist_numfiles(sfile->files)/rows + 1; // XXX 
dirty, modulo is zero
+   if(rows)
+   columns = filelist_numfiles(sfile->files)/rows + 1; // 
XXX dirty, modulo is zero
+   else
+   columns = filelist_numfiles(sfile->files) + 1; // XXX 
dirty, modulo is zero
+   
width = columns * (sfile->tile_w + 2*sfile->tile_border_x) + 
sfile->tile_border_x*2;
}
 


___
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/bf-blender [18699] branches/blender2.5/blender/source /blender/editors/space_sequencer/sequencer_header.c: Was missing TRUE so I included extra header that had i

2009-01-27 Thread Kent Mein
Revision: 18699
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18699
Author:   sirdude
Date: 2009-01-27 19:36:58 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Was missing TRUE so I included extra header that had it,
also fixed a call that had wrong number of args.

Kent

Modified Paths:
--

branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c

Modified: 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c
   2009-01-27 18:10:14 UTC (rev 18698)
+++ 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c
   2009-01-27 18:36:58 UTC (rev 18699)
@@ -39,6 +39,7 @@
 
 #include "BLI_blenlib.h"
 
+#include "BKE_utildefines.h"
 #include "BKE_context.h"
 #include "BKE_screen.h"
 #include "BKE_sequence.h"
@@ -289,7 +290,7 @@
uiDefMenuButO(block, "SEQUENCER_OT_add_movie_strip", NULL);
uiDefMenuButO(block, "SEQUENCER_OT_add_scene_strip", NULL);
 #ifdef WITH_FFMPEG
-   but= uiDefMenuButO(block, "SEQUENCER_OT_add_movie_strip");
+   but= uiDefMenuButO(block, "SEQUENCER_OT_add_movie_strip", NULL);
RNA_boolean_set(uiButGetOperatorPtrRNA(but), "sound", TRUE);
 #endif
 


___
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/bf-blender [18700] branches/blender2.5/blender/source /blender/blenkernel: 2.5

2009-01-27 Thread Ton Roosendaal
Revision: 18700
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18700
Author:   ton
Date: 2009-01-27 20:32:44 +0100 (Tue, 27 Jan 2009)

Log Message:
---
2.5

Added support in threaded compositor to copy the viewer
image safely away, prevents crashing especially for
people using blender -E or redrawing viewer while it
composites.

(Note; reloading images in nodes, render result, and
probably other cases have to be checked still)

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h
branches/blender2.5/blender/source/blender/blenkernel/intern/image.c
branches/blender2.5/blender/source/blender/blenkernel/intern/node.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h
===
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h   
2009-01-27 18:36:58 UTC (rev 18699)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h   
2009-01-27 19:32:44 UTC (rev 18700)
@@ -148,6 +148,12 @@
 /* prints memory statistics for images */
 void BKE_image_print_memlist(void);
 
+/* empty image block, of similar type and filename */
+struct Image *BKE_image_copy(struct Image *ima);
+
+/* merge source into dest, and free source */
+void BKE_image_merge(struct Image *dest, struct Image *source);
+
 #ifdef __cplusplus
 }
 #endif

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/image.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/image.c
2009-01-27 18:36:58 UTC (rev 18699)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/image.c
2009-01-27 19:32:44 UTC (rev 18700)
@@ -91,6 +91,7 @@
 /* quick lookup: supports 1 million frames, thousand passes */
 #define IMA_MAKE_INDEX(frame, index)   ((frame)<<10)+index
 #define IMA_INDEX_FRAME(index) (index>>10)
+#define IMA_INDEX_PASS(index)  (index & ~1023)
 
 /*  IMAGE PROCESSING * */
 
@@ -332,6 +333,33 @@
}
 }
 
+/* empty image block, of similar type and filename */
+Image *BKE_image_copy(Image *ima)
+{
+   Image *new= image_alloc(ima->id.name+2, ima->source, ima->type);
+
+   BLI_strncpy(new->name, ima->name, sizeof(ima->name));
+   
+   new->gen_x= ima->gen_x;
+   new->gen_y= ima->gen_y;
+   new->gen_type= ima->gen_type;
+   
+   return new;
+}
+
+void BKE_image_merge(Image *dest, Image *source)
+{
+   ImBuf *ibuf;
+   
+   while((ibuf= source->ibufs.first)) {
+   BLI_remlink(&source->ibufs, ibuf);
+   image_assign_ibuf(dest, ibuf, IMA_INDEX_PASS(ibuf->index), 
IMA_INDEX_FRAME(ibuf->index));
+   }
+   
+   free_libblock(&G.main->image, source);
+}
+
+
 /* checks if image was already loaded, then returns same image */
 /* otherwise creates new. */
 /* does not load ibuf itself */

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 
2009-01-27 18:36:58 UTC (rev 18699)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 
2009-01-27 19:32:44 UTC (rev 18700)
@@ -2487,6 +2487,12 @@
/* ensure new user input gets handled ok */
node->need_exec= 0;

+   if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
+   if(node->id && (node->flag & NODE_DO_OUTPUT)) {
+   node->new_node->id= (ID *)BKE_image_copy((Image 
*)node->id);
+   }
+   }
+   
for(sock= node->outputs.first; sock; sock= sock->next) {

sock->new_sock->ns.data= sock->ns.data;
@@ -2555,6 +2561,12 @@
lnode->preview= NULL;
}

+   if(ELEM(lnode->type, CMP_NODE_VIEWER, 
CMP_NODE_SPLITVIEWER)) {
+   if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) 
{
+   BKE_image_merge((Image 
*)lnode->new_node->id, (Image *)lnode->id);
+   }
+   }
+   
for(lsock= lnode->outputs.first; lsock; lsock= 
lsock->next) {
if(outsocket_exists(lnode->new_node, 
lsock->new_sock)) {
lsock->new_sock->ns.data= 
lsock->ns.data;


___
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/bf-blender [18701] trunk/blender/source/blender/src/ editface.c: Fix for bug #18066: made UV Unwrap > Reset same as the default UV

2009-01-27 Thread Brecht Van Lommel
Revision: 18701
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18701
Author:   blendix
Date: 2009-01-27 20:59:12 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Fix for bug #18066: made UV Unwrap > Reset same as the default UV
coordinates when creating a new layer.

Modified Paths:
--
trunk/blender/source/blender/src/editface.c

Modified: trunk/blender/source/blender/src/editface.c
===
--- trunk/blender/source/blender/src/editface.c 2009-01-27 19:32:44 UTC (rev 
18700)
+++ trunk/blender/source/blender/src/editface.c 2009-01-27 19:59:12 UTC (rev 
18701)
@@ -631,15 +631,15 @@
dy= 1.0-size;

uv[0][0]= 0;
-   uv[0][1]= size+dy;
+   uv[0][1]= dy;

-   uv[1][0]= 0;
+   uv[1][0]= size;
uv[1][1]= dy;

uv[2][0]= size;
-   uv[2][1]= dy;
-   
-   uv[3][0]= size;
+   uv[2][1]= size+dy;
+
+   uv[3][0]= 0;
uv[3][1]= size+dy;
 }
 


___
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/bf-blender [18702] trunk/blender/source/blender/src/ header_buttonswin.c: Fix for bug #17961: crash with material copy/ past and GLSL.

2009-01-27 Thread Brecht Van Lommel
Revision: 18702
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18702
Author:   blendix
Date: 2009-01-27 21:17:32 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Fix for bug #17961: crash with material copy/past and GLSL.

Modified Paths:
--
trunk/blender/source/blender/src/header_buttonswin.c

Modified: trunk/blender/source/blender/src/header_buttonswin.c
===
--- trunk/blender/source/blender/src/header_buttonswin.c2009-01-27 
19:59:12 UTC (rev 18701)
+++ trunk/blender/source/blender/src/header_buttonswin.c2009-01-27 
20:17:32 UTC (rev 18702)
@@ -77,6 +77,8 @@
 #include "MEM_guardedalloc.h"
 #include "BLI_blenlib.h"
 
+#include "GPU_material.h"
+
 #include "blendef.h"
 #include "mydevice.h"
 #include "butspace.h"
@@ -168,6 +170,7 @@
}
matcopybuf.nodetree= ntreeCopyTree(ma->nodetree, 0);
matcopybuf.preview= NULL;
+   matcopybuf.gpumaterial.first= 
matcopybuf.gpumaterial.last= NULL;
matcopied= 1;
}
break;
@@ -188,6 +191,8 @@
ntreeFreeTree(ma->nodetree);
MEM_freeN(ma->nodetree);
}
+
+   GPU_materials_free(ma);

id= (ma->id);
memcpy(ma, &matcopybuf, sizeof(Material));


___
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/bf-blender [18703] trunk/blender/source/blender/ python/api2_2x/Constraint.c: Fix for bug #18183: crash when using " Bake Constraints" script.

2009-01-27 Thread Brecht Van Lommel
Revision: 18703
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18703
Author:   blendix
Date: 2009-01-27 22:19:19 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Fix for bug #18183: crash when using "Bake Constraints" script. The constraint
remove function was not working correct, this code uses a pretty bad hack, did
not clean it up, but at least it should work now.

Modified Paths:
--
trunk/blender/source/blender/python/api2_2x/Constraint.c

Modified: trunk/blender/source/blender/python/api2_2x/Constraint.c
===
--- trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 
20:17:32 UTC (rev 18702)
+++ trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 
21:19:19 UTC (rev 18703)
@@ -2291,6 +2291,7 @@
 {
bConstraint *con = locate_constr(self, value);
bPoseChannel *active= NULL;
+   int tmpflag= 0;
 
/* if we can't locate the constraint, return (exception already set) */
if (!con)
@@ -2304,6 +2305,11 @@
if (active) active->bone->flag &= ~BONE_ACTIVE;
self->pchan->bone->flag |= BONE_ACTIVE;
}
+
+   if(!(self->obj->flag & OB_POSEMODE)) {
+   self->obj->flag |= OB_POSEMODE;
+   tmpflag= 1;
+   }
}

/* del_constr_func() frees constraint + its data */
@@ -2314,6 +2320,8 @@
if (active) active->bone->flag |= BONE_ACTIVE;
self->pchan->bone->flag &= ~BONE_ACTIVE;
}
+   if(tmpflag)
+   self->obj->flag &= ~OB_POSEMODE;

/* erase the link to the constraint */
value->con = NULL;


___
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/bf-blender [18704] trunk/blender/source/blender/ python/api2_2x/Constraint.c: Fix for bug #18167: setting Constraint. Settings.SCRIPT checked for type

2009-01-27 Thread Brecht Van Lommel
Revision: 18704
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18704
Author:   blendix
Date: 2009-01-27 22:26:31 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Fix for bug #18167: setting Constraint.Settings.SCRIPT checked for type
Object rather than Text so did not work when assigning a text to it.

Modified Paths:
--
trunk/blender/source/blender/python/api2_2x/Constraint.c

Modified: trunk/blender/source/blender/python/api2_2x/Constraint.c
===
--- trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 
21:19:19 UTC (rev 18703)
+++ trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 
21:26:31 UTC (rev 18704)
@@ -1560,7 +1560,7 @@
break;
case EXPP_CONSTR_SCRIPT: {
Text *text = (( BPy_Text * )value)->text;
-   if( !BPy_Object_Check( value ) )
+   if( !BPy_Text_Check( value ) )
return EXPP_ReturnIntError( PyExc_TypeError, 
"expected BPy text argument" );
con->text = text;


___
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/bf-blender [18705] trunk/blender/source/blender/src/ buttons_editing.c: Fix for bug #18087: Editing of object name and modifiers did not

2009-01-27 Thread Brecht Van Lommel
Revision: 18705
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18705
Author:   blendix
Date: 2009-01-27 23:09:23 +0100 (Tue, 27 Jan 2009)

Log Message:
---
Fix for bug #18087: Editing of object name and modifiers did not
work in editing buttons if the object data was linked.

Modified Paths:
--
trunk/blender/source/blender/src/buttons_editing.c

Modified: trunk/blender/source/blender/src/buttons_editing.c
===
--- trunk/blender/source/blender/src/buttons_editing.c  2009-01-27 21:26:31 UTC 
(rev 18704)
+++ trunk/blender/source/blender/src/buttons_editing.c  2009-01-27 22:09:23 UTC 
(rev 18705)
@@ -1944,13 +1944,14 @@
uiButSetFunc(but, modifiers_applyModifier, ob, 
md);
}

+   uiClearButLock();
+   uiSetButLock(ob && ob->id.lib, ERROR_LIBDATA_MESSAGE);
+
if (md->type!=eModifierType_Fluidsim && 
md->type!=eModifierType_Softbody && md->type!=eModifierType_ParticleSystem && 
(md->type!=eModifierType_Cloth)) {
but = uiDefBut(block, BUT, B_MODIFIER_RECALC, 
"Copy",   lx,(cy-=19),60,19, 0, 0, 0, 0, 0, "Duplicate the current modifier at 
the same position in the stack");
uiButSetFunc(but, modifiers_copyModifier, ob, 
md);
}
uiBlockEndAlign(block);
-   
-   uiSetButLock(ob && ob->id.lib, ERROR_LIBDATA_MESSAGE);
}
 
lx = x + 10;
@@ -5525,7 +5526,6 @@
uiBlockSetCol(block, TH_AUTO);
}
if(ob) {
-   uiSetButLock(object_data_is_libdata(ob), ERROR_LIBDATA_MESSAGE);
but = uiDefBut(block, TEX, B_IDNAME, "OB:", xco, 180, 
454-xco, YIC, ob->id.name+2, 0.0, 21.0, 0, 0, "Active Object name.");
 #ifdef WITH_VERSE
if(ob->vnode) uiButSetFunc(but, test_and_send_idbutton_cb, ob, 
ob->id.name);
@@ -5534,6 +5534,7 @@
uiButSetFunc(but, test_idbutton_cb, ob->id.name, NULL);
 #endif
 
+   uiSetButLock(object_data_is_libdata(ob), ERROR_LIBDATA_MESSAGE);
}
 
/* empty display handling, note it returns! */


___
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/bf-blender [18707] branches/blender2.5/blender/source /blender: Animato - Driver + ShapeKey bugfixes

2009-01-27 Thread Joshua Leung
Revision: 18707
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18707
Author:   aligorith
Date: 2009-01-28 01:50:56 +0100 (Wed, 28 Jan 2009)

Log Message:
---
Animato - Driver + ShapeKey bugfixes

* ShapeKey conversions should now go to the correct places
* Added fix for drivers to prevent crashes when no driver object is provided 
(Franky from BBB seems to have one such driver for some reason).
* Temporarily disabled a check when evaluating drivers for whether the driver 
is tagged for evaluation. Drivers still need to be correctly tagged AND ordered 
by the Depsgraph to work correctly.

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c
branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c
branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
branches/blender2.5/blender/source/blender/editors/animation/anim_channels.c
branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_draw.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c
branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c
branches/blender2.5/blender/source/blender/makesdna/DNA_action_types.h

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 
2009-01-28 00:43:46 UTC (rev 18706)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 
2009-01-28 00:50:56 UTC (rev 18707)
@@ -229,7 +229,9 @@
}
else {
/* failed to get path */
-   printf("Animato: Invalid path '%s[%d]' \n", path, array_index);
+   printf("Animato: Invalid path. ID = '%s',  '%s [%d]' \n", 
+   (ptr && ptr->id.data) ? (((ID *)ptr->id.data)->name+2) 
: "", 
+   path, array_index);
return 0;
}
 }
@@ -291,7 +293,7 @@
if ((fcu->flag & (FCURVE_MUTED|FCURVE_DISABLED)) == 0) 
{
/* check if driver itself is tagged for recalculation */
-   if ((driver) && (driver->flag & DRIVER_FLAG_RECALC)) {
+   if ((driver) /*&& (driver->flag & 
DRIVER_FLAG_RECALC)*/) {  // XXX driver recalc flag is not set yet by 
depsgraph!
/* evaluate this using values set already in 
other places */
// NOTE: for 'layering' option later on, we 
should check if we should remove old value before adding new to only be done 
when drivers only changed
calculate_fcurve(fcu, ctime);

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c   
2009-01-28 00:43:46 UTC (rev 18706)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c   
2009-01-28 00:50:56 UTC (rev 18707)
@@ -447,24 +447,34 @@
 {
PointerRNA id_ptr, ptr;
PropertyRNA *prop;
+   ID *id;
char *path;
int index;
float value= 0.0f;

/* get RNA-pointer for the ID-block given in driver */
-   if (target == 2) {
+   if (target == 1) {
/* second target */
RNA_id_pointer_create(driver->id2, &id_ptr);
+   id= driver->id2;
path= driver->rna_path2;
index= driver->array_index2;
}
else {
/* first/main target */
RNA_id_pointer_create(driver->id, &id_ptr);
+   id= driver->id;
path= driver->rna_path;
index= driver->array_index;
}

+   /* error check for missing pointer... */
+   if (id == NULL) {
+   printf("Error: driver doesn't have any valid target to use \n");
+   driver->flag |= DRIVER_FLAG_INVALID;
+   return 0.0f;
+   }
+   
/* get property to read from, and get value as appropriate */
if (RNA_path_resolve(&id_ptr, path, &ptr, &prop)) {
switch (RNA_property_type(&ptr, prop)) {
@@ -511,9 +521,10 @@
case DRIVER_TYPE_CHANNEL: /* channel/setting drivers 
channel/setting */
return driver_get_driver_value(driver, 0);

-#ifndef DISABLE_PYTHON
+
case DRIVER_TYPE_PYTHON: /* expression */
{
+#ifndef DISABLE_PYTHON
/* check for empty or invalid expression */
if ( (driver->expression[0] == '\0') ||
  

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18708] branches/blender2.5/blender/source /blender/editors/transform: Graph Editor - Restored all Transform tools

2009-01-27 Thread Joshua Leung
Revision: 18708
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18708
Author:   aligorith
Date: 2009-01-28 03:56:58 +0100 (Wed, 28 Jan 2009)

Log Message:
---
Graph Editor - Restored all Transform tools 

I've ported the transform tools for this editor as they existed in the AnimSys2 
branch (minus some of the experimental pivot options which were not useful 
enough yet).

Hotkeys are:
* GKEY - transforms points as always
* RKEY - rotates points (only useful for a single 'knot') 
* SKEY - scales points
* EKEY - like in the DopeSheet, the 'extend' translation tool only moves all 
the keyframes on the same side of the current frame indicator as the mouse

Useful tweaks ported from AnimSys2 include:
* Auto-snapping is on by default for time-values on the keyframes only. Handles 
are not snapped (or shouldn't be).
* Rotating/Scaling new keyframes using default handles (i.e. Auto-Handles) now 
works, as the handle is now converted to aligned so that changes can be seen.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/transform/transform.c
branches/blender2.5/blender/source/blender/editors/transform/transform.h

branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c

branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c

Modified: 
branches/blender2.5/blender/source/blender/editors/transform/transform.c
===
--- branches/blender2.5/blender/source/blender/editors/transform/transform.c
2009-01-28 00:50:56 UTC (rev 18707)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform.c
2009-01-28 02:56:58 UTC (rev 18708)
@@ -376,52 +376,6 @@
if (G.sima->lock) force_draw_plus(SPACE_VIEW3D, 0);
else force_draw(0);
}
-   else if (t->spacetype == SPACE_ACTION) {
-   if (G.saction->lock) {
-   short context;
-   
-   /* we ignore the pointer this function returns (not 
needed) */
-   get_action_context(&context);
-   
-   if (context == ACTCONT_ACTION)
-   force_draw_plus(SPACE_VIEW3D, 0);
-   else if (context == ACTCONT_SHAPEKEY) 
-   force_draw_all(0);
-   else
-   force_draw(0);
-   }
-   else {
-   force_draw(0);
-   }
-   }
-   else if (t->spacetype == SPACE_NLA) {
-   if (G.snla->lock)
-   force_draw_all(0);
-   else
-   force_draw(0);
-   }
-   else if (t->spacetype == SPACE_IPO) {
-   /* update realtime */
-   if (G.sipo->lock) {
-   if (G.sipo->blocktype==ID_MA || 
G.sipo->blocktype==ID_TE)
-   force_draw_plus(SPACE_BUTS, 0);
-   else if (G.sipo->blocktype==ID_CA)
-   force_draw_plus(SPACE_VIEW3D, 0);
-   else if (G.sipo->blocktype==ID_KE)
-   force_draw_plus(SPACE_VIEW3D, 0);
-   else if (G.sipo->blocktype==ID_PO)
-   force_draw_plus(SPACE_VIEW3D, 0);
-   else if (G.sipo->blocktype==ID_OB) 
-   force_draw_plus(SPACE_VIEW3D, 0);
-   else if (G.sipo->blocktype==ID_SEQ) 
-   force_draw_plus(SPACE_SEQ, 0);
-   else 
-   force_draw(0);
-   }
-   else {
-   force_draw(0);
-   }
-   }
 #endif 
 }
 
@@ -,8 +1065,15 @@
initTimeScale(t);
break;
case TFM_TIME_EXTEND: 
-   /* now that transdata has been made, do like for 
TFM_TIME_TRANSLATE */
-   initTimeTranslate(t);
+   /* now that transdata has been made, do like for 
TFM_TIME_TRANSLATE (for most Animation
+* Editors because they have only 1D transforms for time 
values) or TFM_TRANSLATION
+* (for Graph Editor only since it uses 'standard' transforms 
to get 2D movement)
+* depending on which editor this was called from 
+*/
+   if (t->spacetype == SPACE_IPO)
+   initTranslation(t);
+   else
+   initTimeTranslate(t);
break;
case TFM_BAKE_TIME:
initBakeTime(t);

Modified: 
branches/blender2.5/blender/source/blender/editors/transform/transform.h
===

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18709] branches/blender2.5/blender/source /blender/editors/space_ipo/ipo_header.c: Graph Editor:

2009-01-27 Thread Joshua Leung
Revision: 18709
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18709
Author:   aligorith
Date: 2009-01-28 04:22:37 +0100 (Wed, 28 Jan 2009)

Log Message:
---
Graph Editor: 

Added some more buttons and a few menu entries in the View menu that simplify 
the viewport.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c

Modified: 
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c
===
--- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c   
2009-01-28 02:56:58 UTC (rev 18708)
+++ branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c   
2009-01-28 03:22:37 UTC (rev 18709)
@@ -73,22 +73,54 @@
 
 static void do_viewmenu(bContext *C, void *arg, int event)
 {
+   SpaceIpo *sipo= (SpaceIpo *)CTX_wm_space_data(C);

+   switch (event) {
+   case 1: /* Show time/frames */
+   sipo->flag ^= SIPO_DRAWTIME;
+   break;
+   case 2: /* AutoMerge Keyframes */
+   sipo->flag ^= SIPO_NOTRANSKEYCULL;
+   break;
+   case 3: /* Show/Hide handles */
+   sipo->flag ^= SIPO_NOHANDLES;
+   break;
+   case 4: /* Show current frame number beside indicator */
+   sipo->flag ^= SIPO_NODRAWCFRANUM;
+   break;
+   }
 }
 
-static uiBlock *dummy_viewmenu(bContext *C, uiMenuBlockHandle *handle, void 
*arg_unused)
+static uiBlock *graph_viewmenu(bContext *C, uiMenuBlockHandle *handle, void 
*arg_unused)
 {
ScrArea *curarea= CTX_wm_area(C);
+   SpaceIpo *sipo= (SpaceIpo *)CTX_wm_space_data(C);
uiBlock *block;
short yco= 0, menuwidth=120;

-   block= uiBeginBlock(C, handle->region, "dummy_viewmenu", UI_EMBOSSP, 
UI_HELV);
+   block= uiBeginBlock(C, handle->region, "graph_viewmenu", UI_EMBOSSP, 
UI_HELV);
uiBlockSetButmFunc(block, do_viewmenu, NULL);

-   uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Nothing yet", 0, 
yco-=20, 
-menuwidth, 19, NULL, 0.0, 0.0, 1, 3, 
"");
+   // XXX these options should use new menu-options

-   if(curarea->headertype==HEADERTOP) {
+   if (sipo->flag & SIPO_DRAWTIME) {
+   uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, 
+"Show Frames|Ctrl T", 0, yco-=20, 
menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
+   }
+   else {
+   uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, 
+"Show Seconds|Ctrl T", 0, yco-=20, 
menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
+   }
+   
+   
+   uiDefIconTextBut(block, BUTM, 1, (sipo->flag & 
SIPO_NOTRANSKEYCULL)?ICON_CHECKBOX_DEHLT:ICON_CHECKBOX_HLT, 
+"AutoMerge Keyframes|", 0, yco-=20, 
menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
+   uiDefIconTextBut(block, BUTM, 1, (sipo->flag & 
SIPO_NOHANDLES)?ICON_CHECKBOX_DEHLT:ICON_CHECKBOX_HLT, 
+"Show Handles|Ctrl H", 0, yco-=20, 
menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
+   uiDefIconTextBut(block, BUTM, 1, (sipo->flag & 
SIPO_NODRAWCFRANUM)?ICON_CHECKBOX_DEHLT:ICON_CHECKBOX_HLT, 
+"Show Current Frame Number|", 0, 
yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
+   
+   if (curarea->headertype==HEADERTOP) {
uiBlockSetDirection(block, UI_DOWN);
}
else {
@@ -131,7 +163,7 @@
uiBlockSetEmboss(block, UI_EMBOSSP);

xmax= GetButStringLength("View");
-   uiDefPulldownBut(block, dummy_viewmenu, CTX_wm_area(C), 
+   uiDefPulldownBut(block, graph_viewmenu, CTX_wm_area(C), 
 "View", xco, yco-2, xmax-3, 
24, "");
xco+= xmax;
}
@@ -141,10 +173,54 @@
/* mode selector */
uiDefButS(block, MENU, B_REDR, 
"Editor Mode %t|F-Curve Editor %x0|Drivers %x1", 
-   xco,yco,120,YIC, &sipo->mode, 0, 1, 0, 0, 
+   xco,yco,110,YIC, &sipo->mode, 0, 1, 0, 0, 
"Editing modes for this editor");
xco+= 120;

+   /* filtering buttons */
+   if (sipo->ads) {
+   //uiBlockBeginAlign(block);
+   uiDefIconButBitI(block, TOG, ADS_FILTER_ONLYSEL, 
B_REDR, ICON_RESTRICT_SELECT_OFF,  (short)(xco+=XIC),yco,XIC,YIC, 
&(sipo->ads->filterflag), 0, 0, 0, 0, "Only display selected Objects");
+   //uiBlockEndAlign(block);
+   xco += 5;
+   
+   uiBlockBeginAlig

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18710] branches/blender2.5/blender/source /blender/editors: Graph Editor: Bringing back editing tools

2009-01-27 Thread Joshua Leung
Revision: 18710
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18710
Author:   aligorith
Date: 2009-01-28 07:32:47 +0100 (Wed, 28 Jan 2009)

Log Message:
---
Graph Editor: Bringing back editing tools 

* Snap + Mirror Keyframes (Shift-S and Shift-M)
* Set Handle/Interpolation type
* Snap current frame to selected keyframes (Ctrl-Shift-S) from the DopeSheet

* Toggle visibility of all handles (Ctrl H) from AnimSys2 branch also ported

Modified Paths:
--

branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c

branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_intern.h
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c

branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c
===
--- 
branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c   
2009-01-28 03:22:37 UTC (rev 18709)
+++ 
branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c   
2009-01-28 06:32:47 UTC (rev 18710)
@@ -197,7 +197,7 @@
for (ale= anim_data.first; ale; ale= ale->next) {
FCurve *fcu= ale->key_data;

-   /* make sure keyframes in IPO-curve are all in order, and 
handles are in valid positions */
+   /* make sure keyframes in F-curve are all in order, and handles 
are in valid positions */
sort_time_fcurve(fcu);
testhandles_fcurve(fcu);
}
@@ -308,6 +308,16 @@
return 0;
 }
 
+static short snap_bezier_horizontal(BeztEditData *bed, BezTriple *bezt)
+{
+   if (bezt->f2 & SELECT) {
+   bezt->vec[0][1]= bezt->vec[2][1]= bezt->vec[1][1];
+   if ((bezt->h1==HD_AUTO) || (bezt->h1==HD_VECT)) bezt->h1= 
HD_ALIGN;
+   if ((bezt->h2==HD_AUTO) || (bezt->h2==HD_VECT)) bezt->h2= 
HD_ALIGN;
+   }
+   return 0;   
+}
+
 // calchandles_ipocurve
 BeztEditFunc ANIM_editkeyframes_snap(short type)
 {
@@ -321,6 +331,8 @@
return snap_bezier_nearmarker;
case SNAP_KEYS_NEARSEC: /* snap to nearest second */
return snap_bezier_nearestsec;
+   case SNAP_KEYS_HORIZONTAL: /* snap handles to same value */
+   return snap_bezier_horizontal;
default: /* just in case */
return snap_bezier_nearest;
}

Modified: 
branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h
===
--- 
branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h  
2009-01-28 03:22:37 UTC (rev 18709)
+++ 
branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h  
2009-01-28 06:32:47 UTC (rev 18710)
@@ -73,6 +73,7 @@
SNAP_KEYS_NEARFRAME,
SNAP_KEYS_NEARSEC,
SNAP_KEYS_NEARMARKER,
+   SNAP_KEYS_HORIZONTAL,
 } eEditKeyframes_Snap;
 
 /* mirroring tools */

Modified: 
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c
===
--- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c 
2009-01-28 03:22:37 UTC (rev 18709)
+++ branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c 
2009-01-28 06:32:47 UTC (rev 18710)
@@ -889,6 +889,8 @@
RNA_def_enum(ot->srna, "type", prop_graphkeys_expo_types, 0, "Type", 
"");
 }
 
+#endif // XXX code to be sanitied for new system
+
 /*  Set Interpolation-Type Operator 
*** */
 
 /* defines for set ipo-type for selected keyframes tool */
@@ -947,11 +949,11 @@
return OPERATOR_FINISHED;
 }
  
-void GRAPHEDIT_OT_keyframes_ipotype (wmOperatorType *ot)
+void GRAPHEDIT_OT_keyframes_interpolation_type (wmOperatorType *ot)
 {
/* identifiers */
ot->name= "Set Keyframe Interpolation";
-   ot->idname= "GRAPHEDIT_OT_keyframes_ipotype";
+   ot->idname= "GRAPHEDIT_OT_keyframes_interpolation_type";

/* api callbacks */
ot->invoke= WM_menu_invoke;
@@ -992,6 +994,7 @@
/* loop through setting flags for handles 
 * Note: we do not supply BeztEditData to the looper yet. Currently 
that's not necessary here...
 */
+   // XXX we might need to supply BeztEditData to get it to only affect 
selected handles
for (ale= anim_data.first; ale; ale= ale->next) {