projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SVN r1677 partially broke the bline tool by making non-editable ducks selectable...
[synfig.git]
/
synfig-studio
/
trunk
/
src
/
gtkmm
/
duckmatic.cpp
diff --git
a/synfig-studio/trunk/src/gtkmm/duckmatic.cpp
b/synfig-studio/trunk/src/gtkmm/duckmatic.cpp
index
df247ae
..
bbf6f74
100644
(file)
--- a/
synfig-studio/trunk/src/gtkmm/duckmatic.cpp
+++ b/
synfig-studio/trunk/src/gtkmm/duckmatic.cpp
@@
-259,7
+259,7
@@
Duckmatic::is_duck_group_selectable(const etl::handle<Duck>& x)const
{
const Type type(get_type_mask());
{
const Type type(get_type_mask());
- if(( x->get_type() && (!(type & x->get_type())) ) )
+ if(( x->get_type() && (!(type & x->get_type()))
|| !x->get_editable()
) )
return false;
if(x->get_value_desc().parent_is_layer_param() && type & Duck::TYPE_POSITION)
return false;
if(x->get_value_desc().parent_is_layer_param() && type & Duck::TYPE_POSITION)
@@
-768,12
+768,14
@@
Duckmatic::find_duck(synfig::Point point, synfig::Real radius, Duck::Type type)
{
const Duck::Handle& duck(iter->second);
{
const Duck::Handle& duck(iter->second);
- if(
!duck->get_editabl
e())
+ if(
duck->get_ignor
e())
continue;
Real dist((duck->get_trans_point()-point).mag_squared());
if(duck->get_type()&Duck::TYPE_VERTEX)
dist*=1.0001;
continue;
Real dist((duck->get_trans_point()-point).mag_squared());
if(duck->get_type()&Duck::TYPE_VERTEX)
dist*=1.0001;
+ else if(duck->get_type()&Duck::TYPE_RADIUS)
+ dist*=0.9999;
if(dist<=closest && !( duck->get_type() && (!(type & duck->get_type())) ) )
{
if(dist<=closest && !( duck->get_type() && (!(type & duck->get_type())) ) )
{