Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MacPerl GUI / Toolbox module bugs/flaws/fixes #1892

Closed
p5pRT opened this issue Apr 25, 2000 · 1 comment
Closed

MacPerl GUI / Toolbox module bugs/flaws/fixes #1892

p5pRT opened this issue Apr 25, 2000 · 1 comment

Comments

@p5pRT
Copy link

p5pRT commented Apr 25, 2000

Migrated from rt.perl.org#3160 (status was 'resolved')

Searchable as RT3160$

@p5pRT
Copy link
Author

p5pRT commented Apr 25, 2000

From kpreid@attglobal.net

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant