Summary: | GLJPanel regression while printing w/ invisible GLJPanel: Zero size panel size | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Sven Gothel <sgothel> |
Component: | awt | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | ||
Priority: | --- | ||
Version: | 2.3.0 | ||
Hardware: | All | ||
OS: | all | ||
Type: | DEFECT | SCM Refs: |
5af9b44a893db3b27ddcd2a13d0008ec21880649
650862cc994b1a3ee6d2af970b5b1d8d73ccd2a8
|
Workaround: | --- |
Description
Sven Gothel
2014-10-02 20:32:15 CEST
This is a regression due to commit 84f367a73c5b16dcebfd877e82e1c2cb90ae74ce: GLJPanel Cleanup: Remove initial FBO reshape; ** Propagate reshape only if differs from panel-size; ** <- this one Use pre-fetched panel-size. 5af9b44a893db3b27ddcd2a13d0008ec21880649 Increase and fix DEBUG verbosity in GLJPanel to catch reshape regression during print 650862cc994b1a3ee6d2af970b5b1d8d73ccd2a8 This is a regression due to commit 84f367a73c5b16dcebfd877e82e1c2cb90ae74ce: GLJPanel Cleanup: Remove initial FBO reshape; ** Propagate reshape only if differs from panel-size; ** <- this one Use pre-fetched panel-size. Above commit only issued 'sendReshape' if the reshape-size differs from the actual panel-size. Note: The reshape-size is propagated to panel-size either in [1] initializeBackendImpl(..) or [2] handleReshape(..) @ paintComponent. While printing w/ an invisible GLJPanel the reshape-size has not yet propagated to the panel-size (see above) and two consecutive reshape calls will cause the last one to be dropped. With this patch we have: GLJPanel.addNotify() GLJPanel.reshape.0 null resize [paint] [ this 0x0, pixelScale 1x1, panel 560x420] -> 0x0 * 1x1 -> 0x0, reshapeSize 0x0 GLJPanel.reshape.0 null resize [paint] [ this 560x420, pixelScale 1x1, panel 560x420] -> 560x420 * 1x1 -> 560x420, reshapeSize 560x420 GLJPanel.setupPrint: scale 1.000000 / 1.000000, samples 0, tileSz -1 x -1 GLJPanel.createAndInitializeBackend.1: [printing] 560x420 @ scale 1x1 -> 560x420 @ scale 1x1 |