[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50945] trunk/blender/intern/cycles: Fix cycles "synchronizing object" status being shown when it was already finished.
Brecht Van Lommel
brechtvanlommel at pandora.be
Fri Sep 28 14:37:20 CEST 2012
Revision: 50945
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50945
Author: blendix
Date: 2012-09-28 12:37:20 +0000 (Fri, 28 Sep 2012)
Log Message:
-----------
Fix cycles "synchronizing object" status being shown when it was already finished.
Modified Paths:
--------------
trunk/blender/intern/cycles/blender/blender_object.cpp
trunk/blender/intern/cycles/util/util_progress.h
Modified: trunk/blender/intern/cycles/blender/blender_object.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_object.cpp 2012-09-28 12:37:14 UTC (rev 50944)
+++ trunk/blender/intern/cycles/blender/blender_object.cpp 2012-09-28 12:37:20 UTC (rev 50945)
@@ -309,7 +309,7 @@
hide = hide || !(ob_layer & scene_layer);
if(!hide) {
- progress.set_status("Synchronizing object", (*b_ob).name());
+ progress.set_sync_status("Synchronizing object", (*b_ob).name());
int num_particles = object_count_particles(*b_ob);
@@ -356,6 +356,8 @@
}
}
+ progress.set_sync_status("");
+
if(!cancel && !motion) {
sync_background_light();
Modified: trunk/blender/intern/cycles/util/util_progress.h
===================================================================
--- trunk/blender/intern/cycles/util/util_progress.h 2012-09-28 12:37:14 UTC (rev 50944)
+++ trunk/blender/intern/cycles/util/util_progress.h 2012-09-28 12:37:20 UTC (rev 50945)
@@ -43,6 +43,8 @@
tile_time = 0.0f;
status = "Initializing";
substatus = "";
+ sync_status = "";
+ sync_substatus = "";
update_cb = NULL;
cancel = false;
cancel_message = "";
@@ -164,11 +166,42 @@
set_update();
}
+ void set_sync_status(const string& status_, const string& substatus_ = "")
+ {
+ {
+ thread_scoped_lock lock(progress_mutex);
+ sync_status = status_;
+ sync_substatus = substatus_;
+ total_time = time_dt() - start_time;
+ }
+
+ set_update();
+
+ }
+
+ void set_sync_substatus(const string& substatus_)
+ {
+ {
+ thread_scoped_lock lock(progress_mutex);
+ sync_substatus = substatus_;
+ total_time = time_dt() - start_time;
+ }
+
+ set_update();
+ }
+
void get_status(string& status_, string& substatus_)
{
thread_scoped_lock lock(progress_mutex);
- status_ = status;
- substatus_ = substatus;
+
+ if(sync_status != "") {
+ status_ = sync_status;
+ substatus_ = sync_substatus;
+ }
+ else {
+ status_ = status;
+ substatus_ = substatus;
+ }
}
/* callback */
@@ -202,6 +235,9 @@
string status;
string substatus;
+ string sync_status;
+ string sync_substatus;
+
volatile bool cancel;
string cancel_message;
};
More information about the Bf-blender-cvs
mailing list