--- deliantra/Deliantra-Client/DC/UI.pm 2007/07/19 19:58:56 1.382 +++ deliantra/Deliantra-Client/DC/UI.pm 2007/07/20 16:32:04 1.383 @@ -1095,7 +1095,7 @@ }, ; - $self->SUPER::add (0, 0, $self->{vp}); + $self->SUPER::add_at (0, 0, $self->{vp}); $self->add ($child) if $child; @@ -1120,7 +1120,7 @@ my $visible = $w1 > $w2; if ($visible != $self->{hslider}{visible}) { - $visible ? $self->SUPER::add (0, 1, $self->{hslider}) + $visible ? $self->SUPER::add_at (0, 1, $self->{hslider}) : $self->{hslider}->hide; } @@ -1129,7 +1129,7 @@ my $visible = $h1 > $h2; if ($visible != $self->{vslider}{visible}) { - $visible ? $self->SUPER::add (1, 0, $self->{vslider}) + $visible ? $self->SUPER::add_at (1, 0, $self->{vslider}) : $self->{vslider}->hide; } } @@ -1609,12 +1609,20 @@ # TODO: store row/col info in child widget and use standard add/del sub add { - my ($self) = shift; + my $self = shift; + + Carp::cluck "please use the add_at method instead of calling add, thank you.\n";#d# + $self->add_at (@_); +} + +sub add_at { + my $self = shift; while (@_) { - my ($x, $y, $child) = splice @_, 0, 3, (); + my ($col, $row, $child) = splice @_, 0, 3, (); + $child->set_parent ($self); - $self->{children}[$y][$x] = $child; + $self->{children}[$row][$col] = $child; } $self->{force_realloc} = 1;