This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git

commit aa236a8a8c866e8503afadb588fd7a3b4d220908
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Fri Aug 14 17:54:53 2026 +0200

    Fix the initial zoom of large untiled images.
---
 .../main/org/apache/sis/gui/coverage/CoverageCanvas.java          | 2 +-
 .../org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java | 8 +++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
index 3db57d7497..58935a0a54 100644
--- 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
+++ 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java
@@ -894,7 +894,7 @@ public class CoverageCanvas extends MapCanvasAWT {
         data.gridCrsName = gridCrsName;
         data.setImageSpace(domain, ranges, xyDimensions);
         initialize(visibleArea);
-        setObjectiveBounds(bounds);
+        setObjectiveBounds(bounds);     // Overwrite the objective bounds 
specified by `visibleArea`.
     }
 
     /**
diff --git 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java
index 766211a845..d472d81ac7 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java
@@ -221,6 +221,7 @@ public abstract class MapCanvas extends PlanarCanvas {
      * Optionally contains the initial "objective to display" CRS to use if a 
predetermined
      * value is desired instead of an automatically computed one. The grid 
extent is ignored,
      * except for fetching the grid center if a non-linear transform needs to 
be linearized.
+     * Can be {@code null} if no initial state has been specified.
      *
      * @see #initialize(GridGeometry)
      * @see #invalidObjectiveToDisplay
@@ -1412,7 +1413,12 @@ public abstract class MapCanvas extends PlanarCanvas {
                      * If a CRS is present, it is used for deciding if we need 
to swap or flip axes.
                      */
                     @SuppressWarnings("LocalVariableHidesMemberVariable")
-                    final Envelope objectiveBounds = getObjectiveBounds();
+                    final Envelope objectiveBounds;
+                    if (init != null && init.isDefined(GridGeometry.ENVELOPE)) 
{
+                        objectiveBounds = init.getEnvelope();
+                    } else {
+                        objectiveBounds = getObjectiveBounds();
+                    }
                     if (objectiveBounds != null) {
                         final MatrixSIS m;
                         objectiveCRS = 
objectiveBounds.getCoordinateReferenceSystem();

Reply via email to