Revision: 21711
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21711
Author:   aligorith
Date:     2009-07-20 02:02:03 +0200 (Mon, 20 Jul 2009)

Log Message:
-----------
2.5 - Bugfixes

* Fix for crash when holding down downarrow in the info-header search box. Was 
caused by badly written poll callback for file-browser. Thanks pidhash for 
noticing the error

* Made add constraint operators work again from 3D-View. They were using the 
wrong context pointer when in the 3D-View, since the old one was only valid for 
the buttons-window. Now they check which window they're in.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/object/editconstraint.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c

Modified: 
branches/blender2.5/blender/source/blender/editors/object/editconstraint.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/editconstraint.c  
2009-07-19 23:17:30 UTC (rev 21710)
+++ branches/blender2.5/blender/source/blender/editors/object/editconstraint.c  
2009-07-20 00:02:03 UTC (rev 21711)
@@ -1329,8 +1329,14 @@
 /* dummy operator callback */
 static int object_constraint_add_exec(bContext *C, wmOperator *op)
 {
-       Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
-
+       ScrArea *sa= CTX_wm_area(C);
+       Object *ob;
+       
+       if (sa->spacetype == SPACE_BUTS)
+               ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+       else
+               ob= CTX_data_active_object(C);
+       
        if (!ob)
                return OPERATOR_CANCELLED;
 
@@ -1372,8 +1378,14 @@
 /* dummy operator callback */
 static int pose_constraint_add_exec(bContext *C, wmOperator *op)
 {
-       Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
-
+       ScrArea *sa= CTX_wm_area(C);
+       Object *ob;
+       
+       if (sa->spacetype == SPACE_BUTS)
+               ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+       else
+               ob= CTX_data_active_object(C);
+       
        if (!ob)
                return OPERATOR_CANCELLED;
        

Modified: 
branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c    
2009-07-19 23:17:30 UTC (rev 21710)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c    
2009-07-20 00:02:03 UTC (rev 21711)
@@ -876,14 +876,17 @@
        SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
        struct direntry* file;
 
-       if(!sfile->params ) poll= 0;
-
-       if (sfile->params->active_file < 0) { 
+       if (sfile->params) {
+               if (sfile->params->active_file < 0) { 
+                       poll= 0;
+               } else {
+                       file = filelist_file(sfile->files, 
sfile->params->active_file);
+                       if (file && S_ISDIR(file->type)) poll= 0;
+               }
+       }
+       else
                poll= 0;
-       } else {
-               file = filelist_file(sfile->files, sfile->params->active_file);
-               if (file && S_ISDIR(file->type)) poll= 0;
-       }
+               
        return poll;
 }
 


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

Reply via email to