FreeBSD audio on cpan still fails. So fixed test to catch it better
[sdlgit/SDL_perl.git] / lib / SDL / Surface.pm
index 49a2b29..d0a53d6 100644 (file)
@@ -163,10 +163,6 @@ sub pixel {
 }
 
 sub fill {
-       croak "SDL::Surface::fill requires a SDL::Rect object"
-               unless !$SDL::DEBUG || $_[1] == 0 || $_[1]->isa('SDL::Rect');
-       croak "SDL::Surface::fill requires a SDL::Color object"
-               unless !$SDL::DEBUG || $_[2]->isa('SDL::Color');
        if ($_[1] == 0 ) {
                SDL::FillRect(${$_[0]},0,${$_[2]});
        } else {
@@ -202,16 +198,17 @@ sub flip {
 }
 
 sub blit {
+               $_[1] = 0 unless defined $_[1];
+               $_[3] = 0 unless defined $_[3];
+
        if ($SDL::DEBUG) {
-               croak "SDL::Surface::blit does not accept undef use SDL::NULL" if ( !defined($_[1]) || !defined($_[3]) );
                croak "SDL::Surface::blit requires SDL::Rect objects"
                        unless ($_[1] == 0 || $_[1]->isa('SDL::Rect'))
                        && ($_[3] == 0 || $_[3]->isa('SDL::Rect'));
                croak "SDL::Surface::blit requires SDL::Surface objects"
                        unless $_[2]->isa('SDL::Surface'); 
        }
-       
-       SDL::BlitSurface(map { (defined($_) && $_ != 0)? ${$_} : $_ } @_) if defined(@_);
+               SDL::BlitSurface(map { (defined($_) && $_ != 0)? ${$_} : $_ } @_) if defined(@_);
 }
 
 sub set_colors {