[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49190] trunk/blender/source/blender/ editors: fix annoying bug where image open from ID template didn' t open in the existing images path.

Campbell Barton ideasman42 at gmail.com
Wed Jul 25 11:04:59 CEST 2012


Revision: 49190
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49190
Author:   campbellbarton
Date:     2012-07-25 09:04:59 +0000 (Wed, 25 Jul 2012)
Log Message:
-----------
fix annoying bug where image open from ID template didn't open in the existing images path.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_templates.c
    trunk/blender/source/blender/editors/space_image/image_ops.c

Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c	2012-07-25 04:29:48 UTC (rev 49189)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c	2012-07-25 09:04:59 UTC (rev 49190)
@@ -254,7 +254,7 @@
 			break;
 		case UI_ID_OPEN:
 		case UI_ID_ADD_NEW:
-			/* these call uiIDContextPropertySet */
+			/* these call uiIDContextProperty */
 			break;
 		case UI_ID_DELETE:
 			memset(&idptr, 0, sizeof(idptr));

Modified: trunk/blender/source/blender/editors/space_image/image_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_ops.c	2012-07-25 04:29:48 UTC (rev 49189)
+++ trunk/blender/source/blender/editors/space_image/image_ops.c	2012-07-25 09:04:59 UTC (rev 49190)
@@ -901,6 +901,25 @@
 			ima = tex->ima;
 	}
 
+	if (ima == NULL) {
+		PointerRNA ptr;
+		PropertyRNA *prop;
+
+		/* hook into UI */
+		uiIDContextProperty(C, &ptr, &prop);
+
+		if (prop) {
+			PointerRNA oldptr;
+
+			oldptr = RNA_property_pointer_get(&ptr, prop);
+			ima = (Image *)oldptr.id.data;
+			/* unlikely but better avoid strange crash */
+			if (ima && GS(ima->id.name) != ID_IM) {
+				ima = NULL;
+			}
+		}
+	}
+
 	if (ima)
 		path = ima->name;
 




More information about the Bf-blender-cvs mailing list