Control: tags -1 patch

Dear GNOME Team,

I've attached a patch that's ready to address this issue in Bullseye.
I'd have sent a merge request, but there's no Git branch for Bullseye
yet.

Unfortunately, the issue is tricky to reproduce organically because
aerial view is no longer provided by the mapping service, not even
using the version of GNOME Maps in Bullseye. However, the change is
quite small, documented well upstream, and this change has already been
cherrypicked in Ubuntu. For those reasons, I nevertheless think this is
appropriate for integration in a point release.
Description: mapView: Don't try to set aerial tiles if not available
 Safe-guard against setting the aerial tile source
 if it's not available in the service file.
 This avoid a crash if aerial was saved as last-used
 map type in gsettings and at next startup the service
 has dropped support.
Author: Marcus Lundblad <m...@update.uu.se>
Origin: upstream, https://gitlab.gnome.org/GNOME/gnome-maps/-/commit/84fc4b2ae319ea155de52adceaa83a4da9f82c92.patch
Bug: https://gitlab.gnome.org/GNOME/gnome-maps/-/issues/377
Bug-Debian: https://bugs.debian.org/990618
Bug-Ubuntu: https://launchpad.net/bugs/1930699
Applied-Upstream: 3.36.7, commit:84fc4b2ae319ea155de52adceaa83a4da9f82c92
Reviewed-By: John Scott <jsc...@posteo.net>
Last-Update: 2021-08-30

--- gnome-maps-3.38.2.orig/src/mapView.js
+++ gnome-maps-3.38.2/src/mapView.js
@@ -401,15 +401,17 @@ var MapView = GObject.registerClass({
         this._mapType = mapType;

         if (mapType !== MapType.LOCAL) {
-            if (mapType === MapType.AERIAL) {
-                if (Service.getService().tiles.hybridAerial &&
+            let tiles = Service.getService().tiles;
+
+            if (mapType === MapType.AERIAL && tiles.aerial) {
+                if (tiles.hybridAerial &&
                     Application.settings.get('hybrid-aerial')) {
                     this.view.map_source = MapSource.createHybridAerialSource();
                 } else {
                     this.view.map_source = MapSource.createAerialSource();
                 }
             } else {
-                if (Service.getService().tiles.streetDark &&
+                if (tiles.streetDark &&
                     Application.settings.get('night-mode')) {
                     this.view.map_source = MapSource.createStreetDarkSource();
                 } else {

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to