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;
 

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

Reply via email to