projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use a checkbox in the gui (Toolbox > File > Setup > Misc) for single_threaded, rather...
[synfig.git]
/
synfig-studio
/
trunk
/
src
/
gtkmm
/
workarea.cpp
diff --git
a/synfig-studio/trunk/src/gtkmm/workarea.cpp
b/synfig-studio/trunk/src/gtkmm/workarea.cpp
index
5ab2563
..
54216f3
100644
(file)
--- a/
synfig-studio/trunk/src/gtkmm/workarea.cpp
+++ b/
synfig-studio/trunk/src/gtkmm/workarea.cpp
@@
-7,6
+7,7
@@
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
** Copyright 2006 Yue Shi Lai
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
** Copyright 2006 Yue Shi Lai
+** Copyright (c) 2007 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
@@
-806,11
+807,7
@@
WorkArea::~WorkArea()
// don't leave the render function queued if we are about to vanish;
// that causes crashes
if(render_idle_func_id)
// don't leave the render function queued if we are about to vanish;
// that causes crashes
if(render_idle_func_id)
- {
- synfig::info("g_source_remove() returns %d", g_source_remove(render_idle_func_id));
render_idle_func_id=0;
render_idle_func_id=0;
- } else
- synfig::info("no render_idle_func_id to clear\n");
}
void
}
void
@@
-2177,6
+2174,12
@@
public:
bool
studio::WorkArea::async_update_preview()
{
bool
studio::WorkArea::async_update_preview()
{
+ if (single_threaded() && async_renderer && async_renderer->updating == true)
+ {
+ async_renderer->stop();
+ return false;
+ }
+
async_renderer=0;
queued=false;
async_renderer=0;
queued=false;
@@
-2470,6
+2473,7
@@
WorkArea::queue_scroll()
drawing_area->queue_draw_area(4-dx, 4-dy, 4-dx+timecode_width, 4-dy+timecode_height);
}
drawing_area->queue_draw_area(4-dx, 4-dy, 4-dx+timecode_width, 4-dy+timecode_height);
}
+#ifndef USE_FRAME_BACKGROUND_TO_SHOW_EDIT_MODE
if(canvas_interface->get_mode()&synfigapp::MODE_ANIMATE)
{
int maxx = drawing_area->get_width()-1;
if(canvas_interface->get_mode()&synfigapp::MODE_ANIMATE)
{
int maxx = drawing_area->get_width()-1;
@@
-2496,6
+2500,7
@@
WorkArea::queue_scroll()
drawing_area->queue_draw_area(0, -dy, maxx, -dy);
}
}
drawing_area->queue_draw_area(0, -dy, maxx, -dy);
}
}
+#endif // USE_FRAME_BACKGROUND_TO_SHOW_EDIT_MODE
last_focus_point=focus_point;
}
last_focus_point=focus_point;
}