Skip to content

Viewer/Builder: the 3-D view does not follow a window resize (un-maximise) #275

Closed

Description

@ohlincha

9.0.0-beta.1, Debian 13 (GNOME, X11). With the Viewer (or Builder) maximised the 3-D view is fine. After un-maximising the window:

  1. The 3-D view goes on drawing at the old, maximised size: the molecule is far too big and cut off at the bottom of the smaller window.
  2. A little later the molecule is drawn at the new size, but a faded copy of the old picture remains behind it.

Seen in a screen recording at 1:42 (Organizer → Viewer on an ORCA water calculation, then un-maximise). Item 2 may be partly GNOME's un-maximise animation; item 1 is ECCE's.

Likely cause: the 3-D canvas (SoWx render area on Coin3D) does not update its viewport, or redraw, on the size event when the frame shrinks. The AUI layout of the panes may also not resize the canvas pane before the next paint.

To check: resize events reaching the canvas (wxEVT_SIZE → setSize/viewport, then a redraw), un-maximise vs drag-resize, Linux and Windows. Test: a headless resize (Xvfb, the Builder script hook) that renders before and after and compares the molecule's size and position against the canvas size.

Related: #255 (panels drawn over the view).

Activity

  1. ohlincha commented on Oct 11, 2026

    @ohlincha
    CollaboratorAuthor

    Not reproduced headless (Xvfb without a window manager: the canvas follows every resize). Likely cause on a real desktop: the GL back buffer follows the window only after ECCE's single on-demand frame. 74cc843 draws one more frame 150 ms after a resize. To be checked on GNOME.

  2. ohlincha commented on Oct 12, 2026

    @ohlincha
    CollaboratorAuthor

    Fixed in ddc6b78. Traced with gdb on GNOME (X11) while the Viewer was dragged to a screen edge: the keep-on-screen fit (ewxWindowUtils::fitToDisplay) read a half-screen tile as too tall and shrank it; mutter restored the tile, and the two alternated. Tiled windows are now skipped, and a size the window manager puts back is accepted. Checked on screen (Linux): tiled, maximised and free windows keep their size.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions