Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/ui/properties_physics_common.py6
-rw-r--r--source/blender/blenkernel/intern/pointcache.c12
-rw-r--r--source/blender/makesrna/intern/rna_main.c9
-rw-r--r--source/blender/makesrna/intern/rna_object_force.c2
4 files changed, 23 insertions, 6 deletions
diff --git a/release/scripts/ui/properties_physics_common.py b/release/scripts/ui/properties_physics_common.py
index 025a16894a9..080d576ab9a 100644
--- a/release/scripts/ui/properties_physics_common.py
+++ b/release/scripts/ui/properties_physics_common.py
@@ -20,6 +20,7 @@
narrowui = 180
+import bpy
def point_cache_ui(self, context, cache, enabled, particles, smoke):
layout = self.layout
@@ -67,7 +68,10 @@ def point_cache_ui(self, context, cache, enabled, particles, smoke):
sub = col.column()
sub.enabled = enabled
sub.prop(cache, "quick_cache")
- col.prop(cache, "disk_cache")
+
+ sub = col.column()
+ sub.enabled = bpy.data.file_is_saved
+ sub.prop(cache, "disk_cache")
col.label(text=cache.info)
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 3d02f175174..25f8dc9bd56 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -2652,7 +2652,8 @@ void BKE_ptcache_mem_to_disk(PTCacheID *pid)
ptcache_file_init_pointers(pf);
if(!ptcache_file_write_header_begin(pf) || !pid->write_header(pf)) {
- printf("Error writing to disk cache\n");
+ if (G.f & G_DEBUG)
+ printf("Error writing to disk cache\n");
cache->flag &= ~PTCACHE_DISK_CACHE;
ptcache_file_close(pf);
@@ -2662,7 +2663,8 @@ void BKE_ptcache_mem_to_disk(PTCacheID *pid)
for(i=0; i<pm->totpoint; i++) {
ptcache_copy_data(pm->cur, pf->cur);
if(!ptcache_file_write_data(pf)) {
- printf("Error writing to disk cache\n");
+ if (G.f & G_DEBUG)
+ printf("Error writing to disk cache\n");
cache->flag &= ~PTCACHE_DISK_CACHE;
ptcache_file_close(pf);
@@ -2678,7 +2680,8 @@ void BKE_ptcache_mem_to_disk(PTCacheID *pid)
BKE_ptcache_write_cache(pid, 0);
}
else
- printf("Error creating disk cache file\n");
+ if (G.f & G_DEBUG)
+ printf("Error creating disk cache file\n");
}
}
void BKE_ptcache_toggle_disk_cache(PTCacheID *pid)
@@ -2688,7 +2691,8 @@ void BKE_ptcache_toggle_disk_cache(PTCacheID *pid)
if (!G.relbase_valid){
cache->flag &= ~PTCACHE_DISK_CACHE;
- printf("File must be saved before using disk cache!\n");
+ if (G.f & G_DEBUG)
+ printf("File must be saved before using disk cache!\n");
return;
}
diff --git a/source/blender/makesrna/intern/rna_main.c b/source/blender/makesrna/intern/rna_main.c
index 7a680e00c8b..7688d92f2e1 100644
--- a/source/blender/makesrna/intern/rna_main.c
+++ b/source/blender/makesrna/intern/rna_main.c
@@ -50,6 +50,10 @@ static void rna_Main_debug_set(PointerRNA *ptr, const int value)
G.f &= ~G_DEBUG;
}
+static int rna_Main_fileissaved_get(PointerRNA *ptr)
+{
+ return G.relbase_valid;
+}
static void rna_Main_filename_get(PointerRNA *ptr, char *value)
{
@@ -308,6 +312,11 @@ void RNA_def_main(BlenderRNA *brna)
RNA_def_property_string_funcs(prop, "rna_Main_filename_get", "rna_Main_filename_length", "rna_Main_filename_set");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Filename", "Path to the .blend file");
+
+ prop= RNA_def_property(srna, "file_is_saved", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_boolean_funcs(prop, "rna_Main_fileissaved_get", NULL);
+ RNA_def_property_ui_text(prop, "File is Saved", "Has the current session been saved to disk as a .blend file");
prop= RNA_def_property(srna, "debug", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_Main_debug_get", "rna_Main_debug_set");
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c
index ee5450551a8..dcc9934721d 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -709,7 +709,7 @@ static void rna_def_pointcache(BlenderRNA *brna)
prop= RNA_def_property(srna, "disk_cache", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", PTCACHE_DISK_CACHE);
- RNA_def_property_ui_text(prop, "Disk Cache", "Save cache files to disk");
+ RNA_def_property_ui_text(prop, "Disk Cache", "Save cache files to disk (.blend file must be saved first)");
RNA_def_property_update(prop, NC_OBJECT, "rna_Cache_toggle_disk_cache");
prop= RNA_def_property(srna, "outdated", PROP_BOOLEAN, PROP_NONE);