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

Joshua Leung aligorith at gmail.com
Mon Jul 20 02:02:05 CEST 2009


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;
 }
 





More information about the Bf-blender-cvs mailing list