projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add c_str() methods for synfig::Time and synfig::TimePoint when _DEBUG is defined.
[synfig.git]
/
synfig-studio
/
trunk
/
src
/
gtkmm
/
dock_navigator.cpp
diff --git
a/synfig-studio/trunk/src/gtkmm/dock_navigator.cpp
b/synfig-studio/trunk/src/gtkmm/dock_navigator.cpp
index
2e1947a
..
c558960
100644
(file)
--- a/
synfig-studio/trunk/src/gtkmm/dock_navigator.cpp
+++ b/
synfig-studio/trunk/src/gtkmm/dock_navigator.cpp
@@
-2,10
+2,11
@@
/*! \file dock_navigator.cpp
** \brief Dock Nagivator File
**
/*! \file dock_navigator.cpp
** \brief Dock Nagivator File
**
-** $Id
: dock_navigator.cpp,v 1.3 2005/01/12 00:31:11 darco Exp
$
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** 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
@@
-166,8
+167,8
@@
void studio::Widget_NavView::on_start_render()
renderer = new AsyncRenderer(targ);
renderer->signal_success().connect(sigc::mem_fun(*this,&Widget_NavView::on_finish_render));
renderer = new AsyncRenderer(targ);
renderer->signal_success().connect(sigc::mem_fun(*this,&Widget_NavView::on_finish_render));
- renderer->start();
dirty = false;
dirty = false;
+ renderer->start();
}
}
}
}
@@
-255,8
+256,13
@@
static double zoom_to_unit(double f)
}else return -999999.0;
}
}else return -999999.0;
}
-bool studio::Widget_NavView::on_expose_draw(GdkEventExpose *
exp
)
+bool studio::Widget_NavView::on_expose_draw(GdkEventExpose *
/*exp*/
)
{
{
+ // don't redraw if the previous redraw is still running single-threaded
+ // or we end up destroying the renderer that's rendering it
+ if (App::single_threaded && renderer && renderer->updating)
+ return false;
+
//print out the zoom
//HACK kind of...
//zoom_print.set_text(strprintf("%.1f%%",100*unit_to_zoom(adj_zoom.get_value())));
//print out the zoom
//HACK kind of...
//zoom_print.set_text(strprintf("%.1f%%",100*unit_to_zoom(adj_zoom.get_value())));
@@
-462,7
+468,7
@@
bool studio::Widget_NavView::on_mouse_event(GdkEvent * e)
float max = abs((br[0]-tl[0]) / drawto.get_width());
float max = abs((br[0]-tl[0]) / drawto.get_width());
- if((
prev->get_width() / drawto.get_width()) < (prev->get_height(
) / drawto.get_height()))
+ if((
float(prev->get_width()) / drawto.get_width()) < (float(prev->get_height()
) / drawto.get_height()))
max = abs((br[1]-tl[1]) / drawto.get_height());
float signx = (br[0]-tl[0]) < 0 ? -1 : 1;
max = abs((br[1]-tl[1]) / drawto.get_height());
float signx = (br[0]-tl[0]) < 0 ? -1 : 1;