Author: Carlos Lopez <[email protected]>
Date: Thu Mar 15 12:01:48 2012 +0100
Fix bug 3475624: Startup crash on Ubuntu 12.04. Patch thanks to Denis
Washington (denis_w)
---
synfig-studio/src/gui/asyncrenderer.cpp | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/synfig-studio/src/gui/asyncrenderer.cpp
b/synfig-studio/src/gui/asyncrenderer.cpp
index 4ec1537..99aa78f 100644
--- a/synfig-studio/src/gui/asyncrenderer.cpp
+++ b/synfig-studio/src/gui/asyncrenderer.cpp
@@ -218,9 +218,14 @@ public:
while(alive_flag)
{
Glib::Mutex::Lock lock(mutex);
+ Glib::TimeVal end_time;
+
+ end_time.assign_current_time();
+ end_time.add_microseconds(BOREDOM_TIMEOUT);
+
if(!tile_queue.empty() && alive_flag)
{
-
if(cond_tile_queue_empty.timed_wait(mutex,Glib::TimeVal(0,BOREDOM_TIMEOUT)))
+
if(!cond_tile_queue_empty.timed_wait(mutex,end_time))
break;
}
else
@@ -325,12 +330,19 @@ public:
signal_progress()();
else
#endif
+ {
+ Glib::Mutex::Lock lock(mutex);
+ Glib::TimeVal end_time;
+
+ end_time.assign_current_time();
+ end_time.add_microseconds(BOREDOM_TIMEOUT);
+
while(alive_flag && !ready_next)
{
- Glib::Mutex::Lock lock(mutex);
-
if(cond_frame_queue_empty.timed_wait(mutex,Glib::TimeVal(0,BOREDOM_TIMEOUT)))
+ if(!cond_frame_queue_empty.timed_wait(mutex,
end_time))
break;
}
+ }
}
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl