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

Reply via email to