# strip everything before this # cd to your version of Tk-804.025_beta7 # and feed this file to /bin/sh # # rm -f demos/demos/images/flower2.png touch demos/demos/widget_lib/trace1.pl chmod 0444 demos/demos/widget_lib/trace1.pl touch PNG/libpng/scripts/makefile.mingw chmod 0444 PNG/libpng/scripts/makefile.mingw touch demos/demos/widget_lib/trace2.pl chmod 0444 demos/demos/widget_lib/trace2.pl touch demos/demos/widget_lib/choosedir.pl chmod 0555 demos/demos/widget_lib/choosedir.pl touch demos/demos/widget_lib/photo2.pl chmod 0444 demos/demos/widget_lib/photo2.pl patch -p1 -N <<'__END_OF_PATCH__' Index: Change.log --- Tk-804.025_beta7/Change.log 2003-12-02 20:57:12.000000000 +0000 +++ Tk-804.025_beta8/Change.log 2003-12-07 13:28:37.000000000 +0000 @@ -1,3 +1,51 @@ +Change 3019 on 2003/12/06 by nick@camel + + MinGW libpng makefile was not checked in or in MANIFEST + +Change 3017 on 2003/12/06 by nick@camel + + Win32 hangs if you display dialog which is transient + to a withdrawn window? + +Change 3016 on 2003/12/06 by nick@camel + + dTHXs stuff fow Windows builds with PERL_NO_GET_CONTEXT + +Change 3015 on 2003/12/06 by nick@llama + + "Loose some debug prints in Win32 Drag/Drop + +Change 3014 on 2003/12/06 by nick@llama + + "Jack" - latest version of + Balloon.pm tweaks + +Change 3013 on 2003/12/06 by nick@llama + + Patch for timestamp for WM_TAKE_FOCUS events. + from Scott Smedley + There is a bug in Perl/Tk that neglects to pass the timestamp associated + with a WM_TAKE_FOCUS event. This leads to focussing race conditions in + aplications that use a globally active focussing policy. + The correct functionality is documented in: + http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7 + +Change 3012 on 2003/12/06 by nick@llama + + Demos patch from Steve + +Change 3011 on 2003/12/06 by nick@llama + + A number of patches from Slaven. + +Change 3010 on 2003/12/06 by nick@llama + + Removed debug as suggested by Jim Winters + +Change 3009 on 2003/12/02 by nick@llama + + Change.log update for beta7 + Change 3008 on 2003/12/02 by nick@llama Avoid 'nsv' as a variable after scare with encGlue.c in perl5.9 Index: DragDrop/Win32Site/Win32Site.pm --- Tk-804.025_beta7/DragDrop/Win32Site/Win32Site.pm 2003-07-20 18:43:27.000000000 +0100 +++ Tk-804.025_beta8/DragDrop/Win32Site/Win32Site.pm 2003-12-06 14:38:02.000000000 +0000 @@ -1,7 +1,7 @@ package Tk::DragDrop::Win32Site; use vars qw($VERSION); -$VERSION = '4.004'; # $Id: //depot/Tkutf8/DragDrop/Win32Site/Win32Site.pm#4 $ +$VERSION = '4.004'; # $Id: //depot/Tkutf8/DragDrop/Win32Site/Win32Site.pm#5 $ use Tk qw($XS_VERSION); require DynaLoader; @@ -28,7 +28,7 @@ sub Win32Drop { - print join(',',@_),"\n"; + # print join(',',@_),"\n"; my ($w,$site,$msg,$wParam,$lParam) = @_; my ($x,$y,@files) = DropInfo($wParam); my $cb = $site->{'-dropcommand'}; @@ -36,7 +36,7 @@ { foreach my $file (@files) { - print "$file @ $x,$y\n"; + # print "$file @ $x,$y\n"; $w->clipboardClear; $w->clipboardAppend('--',$file); $cb->Call('CLIPBOARD',$x,$y); Index: Event/Event.xs --- Tk-804.025_beta7/Event/Event.xs 2003-11-20 20:06:52.000000000 +0000 +++ Tk-804.025_beta8/Event/Event.xs 2003-12-07 13:28:21.000000000 +0000 @@ -292,6 +292,7 @@ char * Tcl_Realloc(char *p, unsigned int size) { + dTHXs; if ((int) size < 0) abort(); p = PerlMemShared_realloc(p,size*sizeof(char)); @@ -301,6 +302,7 @@ char * Tcl_Alloc(unsigned int size) { + dTHXs; char *p; if ((int) size < 0) abort(); @@ -311,6 +313,7 @@ void Tcl_Free(char *p) { + dTHXs; PerlMemShared_free(p); } Index: Event/pTkCallback.c --- Tk-804.025_beta7/Event/pTkCallback.c 2003-11-20 20:09:52.000000000 +0000 +++ Tk-804.025_beta8/Event/pTkCallback.c 2003-12-07 13:28:21.000000000 +0000 @@ -99,6 +99,7 @@ LangCopyCallback(sv) SV *sv; { + dTHXs; if (sv) SvREFCNT_inc(sv); return sv; Index: IO/IO.xs --- Tk-804.025_beta7/IO/IO.xs 2003-11-20 19:39:44.000000000 +0000 +++ Tk-804.025_beta8/IO/IO.xs 2003-12-07 13:28:21.000000000 +0000 @@ -81,9 +81,6 @@ #if defined(__WIN32__) && !defined(__CYGWIN__) static int make_nonblock (pTHX_ PerlIO *f,int *mode,int *newmode) -PerlIO *f; -int *mode; -int *newmode; { croak("Cannot make nonblocking on Win32 yet"); return -1; Index: Listbox/Listbox.pm --- Tk-804.025_beta7/Listbox/Listbox.pm 2003-07-20 18:43:28.000000000 +0100 +++ Tk-804.025_beta8/Listbox/Listbox.pm 2003-12-06 13:38:23.000000000 +0000 @@ -35,8 +35,9 @@ package Tk::Listbox; -use vars qw($VERSION); -$VERSION = '4.012'; # $Id: //depot/Tkutf8/Listbox/Listbox.pm#12 $ +use vars qw($VERSION @Selection $Prev); +use strict; +$VERSION = '4.012'; # $Id: //depot/Tkutf8/Listbox/Listbox.pm#13 $ use Tk qw(Ev $XS_VERSION); use Tk::Clipboard (); @@ -94,7 +95,13 @@ my ($class,$mw) = @_; $class->SUPER::ClassInit($mw); # Standard Motif bindings: - $mw->bind($class,'<1>',['BeginSelect',Ev('index',Ev('@'))]); + $mw->bind($class,'<1>',[sub { + my $w = shift; + if (Tk::Exists($w)) { + $w->BeginSelect(@_); + } + }, Ev('index',Ev('@'))]); + $mw->bind($class, '' => \&Tk::NoOp); $mw->bind($class,'',['Motion',Ev('index',Ev('@'))]); $mw->bind($class,'','ButtonRelease_1'); ; @@ -109,23 +116,26 @@ $mw->bind($class,'',['ExtendUpDown',1]); $mw->XscrollBind($class); - $mw->bind($class,'', sub { + $mw->bind($class,'', sub { my $w = shift; - $w->yview('scroll',1,'pages'); + $w->yview('scroll',-1,'pages'); $w->activate('@0,0'); }); - $mw->bind($class,'', sub { + $mw->bind($class,'', sub { my $w = shift; - $w->yview('scroll',-1,'pages'); + $w->yview('scroll',1,'pages'); $w->activate('@0,0'); }); - $mw->MouseWheelBind($class); + $mw->bind($class,'', ['xview', 'scroll', -1, 'pages']); + $mw->bind($class,'', ['xview', 'scroll', 1, 'pages']); + # and defined in XscrollBind $mw->bind($class,'','Cntrl_Home'); ; $mw->bind($class,'',['DataExtend',0]); $mw->bind($class,'','Cntrl_End'); ; $mw->bind($class,'',['DataExtend','end']); + # XXX What about <>? Already handled in Tk::Clipboard? # $class->clipboardOperations($mw,'Copy'); $mw->bind($class,'',['BeginSelect',Ev('index','active')]); $mw->bind($class,'