*** empty log message ***
authorroot <root>
Sat, 4 Mar 2006 22:36:50 +0000 (22:36 +0000)
committerroot <root>
Sat, 4 Mar 2006 22:36:50 +0000 (22:36 +0000)
Changes
src/perl/automove-background
src/urxvt.pm

diff --git a/Changes b/Changes
index e466e37275501982c9eac9a9b9068a57dc35b4a0..1a4a1f1e7b6993e7ea0f7827f99d2d983a642d9c 100644 (file)
--- a/Changes
+++ b/Changes
@@ -21,6 +21,8 @@ DUMB: support tex fonts
        - add FORCE_UNBUFFERED_XFT define to features.h.
        - moved on_osc_seq to on_osc_seq_perl and added a more
           generic osc_seq.
+        - fix a bug causing double callback invocations when perl hooks
+          were invoked recursively.
 
 7.7  Tue Feb 21 12:32:49 CET 2006
        - use double-buffered drawing (xft fonts only). On many driver/hardware
index d6cc6d40c3a37b2b86bb7a6bd9a3151f3e8ca7a2..33793df5a0eda645f63ec5abc586b505545d97c6 100644 (file)
@@ -5,13 +5,11 @@ sub on_osc_seq {
 
    if ($op == 20) {
       my ($pic, $commands) = split(/;/, $args, 2);
-      warn "   pic=$pic commands=$commands";
       if ($pic !~ /^$/ && $commands !~ /[+\-]/) {
          my ($x, $y) = $self->XTranslateCoordinates (
             $self->vt, $self->DefaultRootWindow,
             0, 0
          );
-         warn "      $x $y \\033]20;$pic;=+$x+$y\\007";
          $self->cmd_parse ("\033]20;$pic;=+$x+$y\007");
          return 1;
       }
index 4b6ceff26d8f50a0efabea70a132906909aa726a..00789638e80f5c852e0e09131a05bf77687975b0 100644 (file)
@@ -909,10 +909,8 @@ sub invoke {
       verbose 10, "$HOOKNAME[$htype] (" . (join ", ", $TERM, @_) . ")"
          if $verbosity >= 10;
 
-      keys %$cb;
-
-      while (my ($pkg, $cb) = each %$cb) {
-         my $retval_ = eval { $cb->($TERM->{_pkg}{$pkg}, @_) };
+      for my $pkg (keys %$cb) {
+         my $retval_ = eval { $cb->{$pkg}->($TERM->{_pkg}{$pkg}, @_) };
          $retval ||= $retval_;
 
          if ($@) {