Menu

#21 DlogMgr positioning conflicts on System7

closed
None
7
2001-07-18
2001-07-09
Rolf Braun
No

On System 7, the Dialog Manager's built in positioning
code, invoked by flags set in the 'DLOG' resource,
conflicts with the NCSA Telnet derived dialog
positioning code in DlogUtils.c. The result is that,
once a dialog has been opened once, it cannot be opened
again in the right position and size without quitting
and restarting the application.

Examples of dialogs where this occurs include ANSI
Colors, Screen Size, Setup Keys, Colors, and Other Font
Size.

This bug has been reproduced on the following machine:
Performa 630 (68040), Mac OS 7.5.5

The bug does NOT seem to occur on the following
machines:
Power Mac 7200 (ppc601), Mac OS 8.6
Power Mac G4, Mac OS 9.1

I don't believe based on the nature of this bug that
this is a 68k/ppc issue, it seems more like something
in the OS that was fixed in either 8.0 or 8.5. I didn't
test on 8.0 or 8.1 (although I can do so if necessary),
but the bug might exist there since major changes
occurred in window positioning APIs in 8.5.

How to fix: This only occurs with dialogs where both of
the following are true:
1) The dialog has a System 7 positioning code, the
variety that is visible/changeable from ResEdit by
selecting Auto Position while viewing the DLOG
resource.
2) MacSSH is also auto-positioning the dialog using the
traditional NCSA Telnet mechanism.

The fix is to pass NULL to GetNewMyDialog or its
variants instead of ThirdCenterDialog or whatever the
other pointer is, so that only the Dialog Manger
positioning will be used. Since the dialog manager
positioning is available starting with System 7.0, the
old mechanism can be completely put to rest.

Discussion

  • Rolf Braun

    Rolf Braun - 2001-07-09

    Logged In: YES
    user_id=253224

    upping priority on this since it's a showstopper for sys7
    users

     
  • Rolf Braun

    Rolf Braun - 2001-07-09
    • priority: 5 --> 7
    • assigned_to: nobody --> chombier
     
  • Rolf Braun

    Rolf Braun - 2001-07-09

    Logged In: YES
    user_id=253224

    also:
    I should note that Inside Macintosh: Toolbox Essentials
    warns not to do this (auto-positioning using the dialog
    manager and changing the position manually)... so Apple knew
    this was a bug.

     
  • Nobody/Anonymous

    Logged In: NO

    rrgh.
    I wrote this bug report way way too late at night and left
    out something essential: the reason this bug is a real
    problem and not merely cosmetic is that the window typically
    opens off screen and can't be moved back where it should be
    or otherwise used at all.

     
  • Jean-Pierre Stierlin

    Logged In: YES
    user_id=158181

    I've disabled the centerFunction call in the GetNewMyDialog
    function. this should produce the same result and is a faster
    fix than replacing all the calls to GetNewMyDialog,
    GetNewMySmallDialog etc...

     
  • Jean-Pierre Stierlin

    • status: open --> closed
     

Log in to post a comment.