ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/perl/matcher
(Generate patch)

Comparing rxvt-unicode/src/perl/matcher (file contents):
Revision 1.4 by tpope, Sun Jun 10 23:42:36 2007 UTC vs.
Revision 1.5 by sf-tpope, Fri Aug 19 23:02:46 2011 UTC

162 () 162 ()
163} 163}
164 164
165sub on_button_press { 165sub on_button_press {
166 my ($self, $event) = @_; 166 my ($self, $event) = @_;
167 if($self->valid_button($event)) { 167 if($self->valid_button($event)
168 && (my @exec = $self->command_for($event->{row},$event->{col}))) {
168 $self->{row} = $event->{row}; 169 $self->{row} = $event->{row};
169 $self->{col} = $event->{col}; 170 $self->{col} = $event->{col};
171 $self->{cmd} = \@exec;
172 return 1;
170 } else { 173 } else {
171 delete $self->{row}; 174 delete $self->{row};
172 delete $self->{col}; 175 delete $self->{col};
176 delete $self->{cmd};
173 } 177 }
174 178
175 () 179 ()
176} 180}
177 181
178sub on_button_release { 182sub on_button_release {
179 my ($self, $event) = @_; 183 my ($self, $event) = @_;
180 184
181 my $row = delete $self->{row}; 185 my $row = delete $self->{row};
182 my $col = delete $self->{col}; 186 my $col = delete $self->{col};
187 my $cmd = delete $self->{cmd};
183 188
189 return if !defined $row;
190
184 if(defined($row) && $row == $event->{row} && abs($col-$event->{col}) < 2) { 191 if($row == $event->{row} && abs($col-$event->{col}) < 2
192 && join("\x00", @$cmd) eq join("\x00", $self->command_for($row,$col))) {
185 if($self->valid_button($event)) { 193 if($self->valid_button($event)) {
186 194
187 my @exec = $self->command_for($row,$col); 195 $self->exec_async (@$cmd);
188 if(@exec) { 196
189 return $self->exec_async (@exec);
190 } 197 }
191
192 }
193 } 198 }
194 199
195 () 200 1;
196} 201}
197 202
198# vim:set sw=3 sts=3 et: 203# vim:set sw=3 sts=3 et:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines