Revision: 28985
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28985
Author:   blendix
Date:     2010-05-25 20:34:49 +0200 (Tue, 25 May 2010)

Log Message:
-----------
Render Branch: svn merge 
https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28978:28984

Modified Paths:
--------------
    branches/render25/release/scripts/modules/bpy_types.py
    branches/render25/release/scripts/ui/properties_object.py
    branches/render25/source/blender/blenkernel/intern/image.c
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/creator/creator.c

Modified: branches/render25/release/scripts/modules/bpy_types.py
===================================================================
--- branches/render25/release/scripts/modules/bpy_types.py      2010-05-25 
18:31:36 UTC (rev 28984)
+++ branches/render25/release/scripts/modules/bpy_types.py      2010-05-25 
18:34:49 UTC (rev 28985)
@@ -38,6 +38,16 @@
         return new_context
 
 
+class Group(bpy_types.ID):
+    __slots__ = ()
+
+    @property
+    def users_dupli_object(self):
+        """The dupli group this group is used in, XXX, TODO, WHY DOESNT THIS 
WORK???"""
+        import bpy
+        return tuple(obj for obj in bpy.data.objects if self == 
obj.dupli_object)
+
+
 class Object(bpy_types.ID):
     __slots__ = ()
 
@@ -48,18 +58,16 @@
         return tuple(child for child in bpy.data.objects if child.parent == 
self)
 
     @property
-    def group_users(self):
+    def users_group(self):
         """The groups this object is in"""
         import bpy
-        name = self.name
-        return tuple(group for group in bpy.data.groups if name in 
group.objects)
+        return tuple(group for group in bpy.data.groups if self in 
group.objects[:])
 
     @property
-    def scene_users(self):
+    def users_scene(self):
         """The scenes this object is in"""
         import bpy
-        name = self.name
-        return tuple(scene for scene in bpy.data.scenes if name in 
scene.objects)
+        return tuple(scene for scene in bpy.data.scenes if self in 
scene.objects[:])
 
 
 class _GenericBone:

Modified: branches/render25/release/scripts/ui/properties_object.py
===================================================================
--- branches/render25/release/scripts/ui/properties_object.py   2010-05-25 
18:31:36 UTC (rev 28984)
+++ branches/render25/release/scripts/ui/properties_object.py   2010-05-25 
18:34:49 UTC (rev 28985)
@@ -180,7 +180,7 @@
                 col.prop(group, "dupli_offset", text="")
 
                 prop = col.operator("wm.context_set_value", text="From Cursor")
-                prop.path = "object.group_users[%d].dupli_offset" % index
+                prop.path = "object.users_group[%d].dupli_offset" % index
                 prop.value = value
                 index += 1
 

Modified: branches/render25/source/blender/blenkernel/intern/image.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/image.c  2010-05-25 
18:31:36 UTC (rev 28984)
+++ branches/render25/source/blender/blenkernel/intern/image.c  2010-05-25 
18:34:49 UTC (rev 28985)
@@ -982,6 +982,7 @@
        struct StampData stamp_data;
        float w, h, pad;
        int x, y;
+       float h_fixed;
        
        if (!rect && !rectf)
                return;
@@ -998,16 +999,24 @@
        BLF_buffer_col(mono, scene->r.fg_stamp[0], scene->r.fg_stamp[1], 
scene->r.fg_stamp[2], 1.0);
        pad= BLF_width(mono, "--");
 
+       /* use 'h_fixed' rather then 'h', aligns better */
+       // BLF_width_and_height(mono, "^|/_AgPpJjlYy", &w, &h_fixed);
+       {
+               rctf box;
+               BLF_boundbox(mono, "^|/_AgPpJjlYy", &box);
+               h_fixed= box.ymax - box.ymin;
+       }
+
        x= 0;
        y= height;
 
        if (stamp_data.file[0]) {
                /* Top left corner */
-               BLF_width_and_height(mono, stamp_data.file, &w, &h);
+               BLF_width_and_height(mono, stamp_data.file, &w, &h); h= h_fixed;
                y -= h;
 
                /* also a little of space to the background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y-3, w+3, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y-3, w+3, y+h+2);
 
                /* and draw the text. */
                BLF_position(mono, x, y, 0.0);
@@ -1019,11 +1028,11 @@
 
        /* Top left corner, below File */
        if (stamp_data.note[0]) {
-               BLF_width_and_height(mono, stamp_data.note, &w, &h);
+               BLF_width_and_height(mono, stamp_data.note, &w, &h); h= h_fixed;
                y -= h;
 
                /* and space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, 0, y-2, w+3, y+h+2);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, 0, y-3, w+3, y+h+2);
 
                BLF_position(mono, x, y+1, 0.0);
                BLF_draw_buffer(mono, stamp_data.note);
@@ -1034,11 +1043,11 @@
        
        /* Top left corner, below File (or Note) */
        if (stamp_data.date[0]) {
-               BLF_width_and_height(mono, stamp_data.date, &w, &h);
+               BLF_width_and_height(mono, stamp_data.date, &w, &h); h= h_fixed;
                y -= h;
 
                /* and space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, 0, y-3, w+3, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, 0, y-3, w+3, y+h+2);
 
                BLF_position(mono, x, y, 0.0);
                BLF_draw_buffer(mono, stamp_data.date);
@@ -1049,11 +1058,11 @@
 
        /* Top left corner, below File, Date or Note */
        if (stamp_data.rendertime[0]) {
-               BLF_width_and_height(mono, stamp_data.rendertime, &w, &h);
+               BLF_width_and_height(mono, stamp_data.rendertime, &w, &h); h= 
h_fixed;
                y -= h;
 
                /* and space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, 0, y-3, w+3, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, 0, y-3, w+3, y+h+2);
 
                BLF_position(mono, x, y, 0.0);
                BLF_draw_buffer(mono, stamp_data.rendertime);
@@ -1064,10 +1073,10 @@
 
        /* Bottom left corner, leaving space for timing */
        if (stamp_data.marker[0]) {
-               BLF_width_and_height(mono, stamp_data.marker, &w, &h);
+               BLF_width_and_height(mono, stamp_data.marker, &w, &h); h= 
h_fixed;
 
                /* extra space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, w+2, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, w+2, y+h+2);
 
                /* and pad the text. */
                BLF_position(mono, x, y+3, 0.0);
@@ -1079,10 +1088,10 @@
        
        /* Left bottom corner */
        if (stamp_data.time[0]) {
-               BLF_width_and_height(mono, stamp_data.time, &w, &h);
+               BLF_width_and_height(mono, stamp_data.time, &w, &h); h= h_fixed;
 
                /* extra space for background */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+2, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+2, y+h+2);
 
                /* and pad the text. */
                BLF_position(mono, x, y+3, 0.0);
@@ -1093,10 +1102,10 @@
        }
        
        if (stamp_data.frame[0]) {
-               BLF_width_and_height(mono, stamp_data.frame, &w, &h);
+               BLF_width_and_height(mono, stamp_data.frame, &w, &h); h= 
h_fixed;
 
                /* extra space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+2, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+2, y+h+2);
 
                /* and pad the text. */
                BLF_position(mono, x, y+3, 0.0);
@@ -1107,22 +1116,22 @@
        }
 
        if (stamp_data.camera[0]) {
-               BLF_width_and_height(mono, stamp_data.camera, &w, &h);
+               BLF_width_and_height(mono, stamp_data.camera, &w, &h); h= 
h_fixed;
 
                /* extra space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+2, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+2, y+h+2);
                BLF_position(mono, x, y+3, 0.0);
                BLF_draw_buffer(mono, stamp_data.camera);
        }
        
        if (stamp_data.scene[0]) {
-               BLF_width_and_height(mono, stamp_data.scene, &w, &h);
+               BLF_width_and_height(mono, stamp_data.scene, &w, &h); h= 
h_fixed;
 
                /* Bottom right corner, with an extra space because blenfont is 
too strict! */
                x= width - w - 2;
 
                /* extra space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+3, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y, x+w+3, y+h+2);
 
                /* and pad the text. */
                BLF_position(mono, x, y+3, 0.0);
@@ -1130,14 +1139,14 @@
        }
        
        if (stamp_data.strip[0]) {
-               BLF_width_and_height(mono, stamp_data.scene, &w, &h);
+               BLF_width_and_height(mono, stamp_data.scene, &w, &h); h= 
h_fixed;
 
                /* Top right corner, with an extra space because blenfont is 
too strict! */
                x= width - w - pad;
                y= height - h;
 
                /* extra space for background. */
-               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y-3, x+w+pad, y+h+3);
+               buf_rectfill_area(rect, rectf, width, height, 
scene->r.bg_stamp, x, y-3, x+w+pad, y+h+2);
 
                BLF_position(mono, x, y, 0.0);
                BLF_draw_buffer(mono, stamp_data.strip);

Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c       
2010-05-25 18:31:36 UTC (rev 28984)
+++ branches/render25/source/blender/blenloader/intern/readfile.c       
2010-05-25 18:34:49 UTC (rev 28985)
@@ -10998,31 +10998,34 @@
                /* parent type to modifier */
                for(ob = main->object.first; ob; ob = ob->id.next) {
                        if(ob->parent) {
-                               Object *parent= newlibadr(fd, lib, ob->parent);
-                               if(parent->type==OB_ARMATURE && 
ob->partype==PARSKEL) {
-                                       ArmatureModifierData *amd;
+                               Object *parent= (Object *)newlibadr(fd, lib, 
ob->parent);
+                               if(parent) { /* parent may not be in group */
+                                       if(parent->type==OB_ARMATURE && 
ob->partype==PARSKEL) {
+                                               ArmatureModifierData *amd;
+                                               bArmature *arm= (bArmature 
*)newlibadr(fd, lib, parent->data);
 
-                                       amd = (ArmatureModifierData*) 
modifier_new(eModifierType_Armature);
-                                       amd->object = ob->parent;
-                                       BLI_addtail((ListBase*)&ob->modifiers, 
amd);
-                                       amd->deformflag= ((bArmature 
*)(parent->data))->deformflag;
-                                       ob->partype = PAROBJECT;
-                               }
-                               else if(parent->type==OB_LATTICE && 
ob->partype==PARSKEL) {
-                                       LatticeModifierData *lmd;
+                                               amd = (ArmatureModifierData*) 
modifier_new(eModifierType_Armature);
+                                               amd->object = ob->parent;
+                                               
BLI_addtail((ListBase*)&ob->modifiers, amd);
+                                               amd->deformflag= 
arm->deformflag;
+                                               ob->partype = PAROBJECT;
+                                       }
+                                       else if(parent->type==OB_LATTICE && 
ob->partype==PARSKEL) {
+                                               LatticeModifierData *lmd;
 
-                                       lmd = (LatticeModifierData*) 
modifier_new(eModifierType_Lattice);
-                                       lmd->object = ob->parent;
-                                       BLI_addtail((ListBase*)&ob->modifiers, 
lmd);
-                                       ob->partype = PAROBJECT;
-                               }
-                               else if(parent->type==OB_CURVE && 
ob->partype==PARCURVE) {
-                                       CurveModifierData *cmd;
+                                               lmd = (LatticeModifierData*) 
modifier_new(eModifierType_Lattice);
+                                               lmd->object = ob->parent;
+                                               
BLI_addtail((ListBase*)&ob->modifiers, lmd);
+                                               ob->partype = PAROBJECT;
+                                       }
+                                       else if(parent->type==OB_CURVE && 
ob->partype==PARCURVE) {
+                                               CurveModifierData *cmd;
 

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to