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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-09-28 16:37:20 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-09-28 16:37:20 +0400
commit1d2e59ba1c7cc3f823ad6e3916ebee28b4a069b1 (patch)
tree6183b340d1953ee887cb7b7846235fb7807152f9 /intern/cycles/util
parent4cf06b97ddcd0204a35969b0521154bcdd7a9cd8 (diff)
Fix cycles "synchronizing object" status being shown when it was already finished.
Diffstat (limited to 'intern/cycles/util')
-rw-r--r--intern/cycles/util/util_progress.h40
1 files changed, 38 insertions, 2 deletions
diff --git a/intern/cycles/util/util_progress.h b/intern/cycles/util/util_progress.h
index ab9ab7243e9..c97379d8776 100644
--- a/intern/cycles/util/util_progress.h
+++ b/intern/cycles/util/util_progress.h
@@ -43,6 +43,8 @@ public:
tile_time = 0.0f;
status = "Initializing";
substatus = "";
+ sync_status = "";
+ sync_substatus = "";
update_cb = NULL;
cancel = false;
cancel_message = "";
@@ -164,11 +166,42 @@ public:
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 @@ protected:
string status;
string substatus;
+ string sync_status;
+ string sync_substatus;
+
volatile bool cancel;
string cancel_message;
};