This is a bug report for perl from kpreid@attglobal.net, generated with the help of perlbug 1.28 running under perl 5.004. ----------------------------------------------------------------- * Change to MacWindow::has_focus to prevent uninitialized value warnings under some circumstances: sub has_focus { my($my, $pane) = @_; defined ${$my->{focusable}}[$my->{focus}] or return; # added return ${$my->{focusable}}[$my->{focus}] == $pane; } * Change to MacWindow::idle to prevent "Can't use string ("") as a SCALAR ref while "strict refs" in use." if a window is disposed from another window's idle hook: sub idle { my($self) = @_; my($front) = FrontWindow(); return unless $self->{port}; # added if ($front && ${$self->{port}} == $$front) { ... * MacWindow::drawgrowicon draws grow boxes in windows that shouldn't have them (e.g. noGrowDocProc, floatProc). Fix: Keep a list of what WDEF IDs (can draw grow boxes && don't have grow box behavior). * (Idea, not bug, but the current situation IS a problem, IMHO) A slight change to MacWindow::goaway - Instead of immediately calling $my->dispose, call $my->close. MacWindow::close would then call a hook if set, or call MacWindow::dispose instead. The advantages of this are: 1. You can define alternate behavior for the close box (e.g. ask the user about saving changes, etc.) without having to call TrackGoAway() yourself. 2. You get a universal method for "get rid of this window, cleaning up if neccesary". For example, it could be used to implement a Close menu item that outomatically works on all MacWindows (even those that need special handling). * MacControl needs an accessor method for the ControlHandle: sub control {$_[0]->{control}} * MacControls generate uninitialized value warnings at destruction time. Fix for MacControl::DESTROY: sub DESTROY { my($my) = @_; DisposeControl($my->{control}) if $my->{control}; } * When multiple MacWindows are created between WaitNextEvents, the activate method does not get called for the ones that were created first (and therefore are not frontmost), sometimes resulting in incorrect highlighting. I think there may be a similar problem for panes and the focus method. * The MacPerl application's Window menu does not show up if there are only script-created windows open. * MacColorWindow->new() creates MacWindow objects instead of MacColorWindow objects; this makes it impossible to tell what type of window was created. Fix: In MacColorWindow->new(), use @ISA = qw(MacWindow) and $class->SUPER::new() instead of calling MacWindow->new(). ----------------------------------------------------------------- --- Site configuration information for perl 5.004: Summary of my ( patchlevel 0 subversion ) configuration: Platform: osname=MacOS, osvers=7.5, archname= uname='' hint=, useposix=true, d_sigaction= bincompat3= useperlio= d_sfio= Compiler: cc='C', optimize='', gccversion= cppflags='' ccflags ='' stdchar='', d_stdstdio=define, usevfork= voidflags=, castflags=0, d_casti32=32, d_castneg=define intsize=32, alignbytes=, usemymalloc=, randbits= Linker and Libraries: ld='', ldflags ='' libpth= libs= libc=, so= useshrplib=, libperl= Dynamic Linking: dlsrc=, dlext=, d_dlsymun=, ccdlflags='' cccdlflags='', lddlflags='' Locally applied patches: --- @INC for perl 5.004: iMax:Applications:MacPerl f:site_perl:MacPPC iMax:Applications:MacPerl f:site_perl iMax:Documents:Perl:KLib iMax:Applications:MacPerl f:lib:MacPPC iMax:Applications:MacPerl f:lib: iMax:Applications:MacPerl f:site_perl:MacPPC: iMax:Applications:MacPerl f:site_perl: : Dev:Pseudo: --- Environment for perl 5.004: HOME=iMax:Documents:Perl:home: LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH (unset) PERL5LIB=iMax:Applications:MacPerl f:site_perl,iMax:Documents:Perl:KLib PERL_BADLANG (unset) SHELL (unset) ==== Want to unsubscribe from this list? ==== Send mail with body "unsubscribe" to macperl-porters-request@macperl.org