--- deliantra/Deliantra-Client/DC/Protocol.pm 2006/06/23 22:35:16 1.41
+++ deliantra/Deliantra-Client/DC/Protocol.pm 2006/06/23 23:54:30 1.42
@@ -814,6 +814,8 @@
sub feed {
my ($self, $data) = @_;
+ Scalar::Util::weaken $self;
+
my ($type, $msg) = split / /, $data, 2;
if ($type eq "msg") {
@@ -826,15 +828,21 @@
$msg =~ s{
($match)
}{
+ my $kw = $1;
+
push @link, new CFClient::UI::Label
- markup => "$1",
+ markup => "$kw",
can_hover => 1,
- can_events => 1;
+ can_events => 1,
+ on_button_up => sub {
+ $self->send ($kw);
+ };
chr 0xfffc
}giex;
$self->{textview}->add_paragraph ([1, 1, 1, 1], [$msg, @link]);
+ $self->{textview}->scroll_to_bottom;
$self->update_options;
} else {
$self->destroy;
@@ -848,6 +856,7 @@
$self->{conn}->send ("ext npc_dialog_tell $self->{token} $msg");
$self->{textview}->add_paragraph ([1, 1, 0, 1], "\n" . CFClient::UI::Label::escape $msg);
+ $self->{textview}->scroll_to_bottom;
}
sub destroy {