]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/commitdiff
Always call ->assert_valid after ->coerce
authorVincent Pit <vince@profvince.com>
Wed, 21 Jul 2010 15:47:16 +0000 (17:47 +0200)
committerVincent Pit <vince@profvince.com>
Wed, 21 Jul 2010 15:47:16 +0000 (17:47 +0200)
lib/LaTeX/TikZ/Scope.pm
lib/LaTeX/TikZ/Set.pm
lib/LaTeX/TikZ/Set/Arc.pm
lib/LaTeX/TikZ/Set/Rectangle.pm

index c048a1c700fdbd9bcba99b84d990d30f84d54b1a..3686beb28b5e7f73d4b5302524f41b8d317b7fb8 100644 (file)
@@ -54,7 +54,8 @@ sub mod {
  my $cache = $scope->_mods_cache;
 
  for (@_) {
-  my $mod = $ltmf_tc->check($_) ? $_ : $ltmf_tc->coerce($_);
+  my $mod = $ltmf_tc->coerce($_);
+  $ltmf_tc->assert_valid($mod);
   my $tag = $mod->tag;
   next if exists $cache->{$tag};
   $cache->{$tag} = $mod;
index 78b53ce2ee853c9ac17f738b939a29596d49e2d3..d4f67b61764ff925b8085c66a456050761fd810c 100644 (file)
@@ -44,9 +44,10 @@ my $ltmc_tc = LaTeX::TikZ::Tools::type_constraint('LaTeX::TikZ::Mod::Clip');
 sub mod {
  my $set = shift;
 
- $ltm_tc->assert_valid($_) for @_;
+ my @mods = map $ltm_tc->coerce($_), @_;
+ $ltm_tc->assert_valid($_) for @mods;
 
- push @{$set->_mods}, @_;
+ push @{$set->_mods}, @mods;
 
  $set;
 }
index 3ac58e01d6536ee27449076ea18f05de6422ac81..3bbe83d83074b8d3fc8d7009b1f9da7a8b624927 100644 (file)
@@ -37,6 +37,7 @@ use LaTeX::TikZ::Interface arc => sub {
 
  for ($a, $b, $c) {
   my $p = $ltp_tc->coerce($_);
+  $ltp_tc->assert_valid($p);
   $_ = Math::Complex->make($p->x, $p->y);
  }
 
index 08cba5a7034e315a3ef77fc2a64e771dd6daad7d..8e585bc31e00f32407538a5b2c1767f2c508c508 100644 (file)
@@ -72,7 +72,7 @@ Attributes 'width' and 'height' are required when 'to' was not given
    MSG
    $args{from} = $tc1->coerce($args{from});
    $meta->find_attribute_by_name($_)->type_constraint->assert_valid($args{$_})
-                                                           for qw/width height/;
+                                                      for qw/from width height/;
    my $p = $args{from}->point;
    $args{to} = LaTeX::TikZ::Point->new(
     x => $p->x + $args{width},