--- Gtk2-GoBoard/GoBoard.pm 2008/06/25 21:25:03 1.9 +++ Gtk2-GoBoard/GoBoard.pm 2008/07/29 10:03:06 1.13 @@ -521,14 +521,14 @@ } # then the small stones (always using the first image) - for ([MARK_SMALL_B, $black_img[0]], - [MARK_SMALL_W, $white_img[0]]) { - my ($mask, $img) = @$_; + for ([MARK_SMALL_B, $mark & MARK_SMALL_GRAYED ? 106 : 255, $black_img[0]], + [MARK_SMALL_W, $mark & MARK_SMALL_GRAYED ? 190 : 255, $white_img[0]]) { + my ($mask, $alpha, $img) = @$_; if ($mark & $mask) { $img->composite ( $base, ($size / 4) x2, (ceil $size / 2 + 1) x2, ($size / 4) x2, $size / $img->get_width / 2, $size / $img->get_height / 2, - 'bilinear', 255 + 'bilinear', $alpha ); } } @@ -640,7 +640,9 @@ my $y = int (($y - $self->{ky}[0]) * $size / ($self->{ky}[$size] - $self->{ky}[0]) + 0.5) - 1; my $pos = $self->{cursorpos}; - if ($x != $pos->[0] || $y != $pos->[1]) { + if ((not (defined $pos) && $x >= 0 && $x < $size && $y >= 0 && $y < $size) + || $x != $pos->[0] + || $y != $pos->[1]) { $self->cursor (0);