From b93845f4e4c0092c36090cd3de52ea2816220e11 Mon Sep 17 00:00:00 2001
From: Josef Glatz <josefglatz@gmail.com>
Date: Mon, 7 Nov 2016 13:16:10 +0100
Subject: [PATCH] [BUGFIX] Set dimensions for custom svg TYPO3 backend logo

Width and height is automatically set for pixel based backend
logos. This patch makes sure this also is done for svg file format.

Releases: master, 7.6
Resolves: #78590
Change-Id: Iff1dddc827d002e10fd4ec6f3b57bc16920b1c86
Reviewed-on: https://review.typo3.org/50522
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
---
 .../sysext/backend/Classes/Controller/BackendController.php | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/typo3/sysext/backend/Classes/Controller/BackendController.php b/typo3/sysext/backend/Classes/Controller/BackendController.php
index f6e585416b47..9731da8bb1c3 100644
--- a/typo3/sysext/backend/Classes/Controller/BackendController.php
+++ b/typo3/sysext/backend/Classes/Controller/BackendController.php
@@ -22,6 +22,7 @@ use TYPO3\CMS\Backend\Toolbar\ToolbarItemInterface;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Page\PageRenderer;
+use TYPO3\CMS\Core\Type\File\ImageInfo;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
@@ -276,7 +277,10 @@ class BackendController
             $logoWidth = 22;
             $logoHeight = 22;
         } else {
-            list($logoWidth, $logoHeight) = @getimagesize($logoPath);
+            // set width/height for custom logo
+            $imageInfo = GeneralUtility::makeInstance(ImageInfo::class, $logoPath);
+            $logoWidth = $imageInfo->getWidth() ?? '22';
+            $logoHeight = $imageInfo->getHeight() ?? '22';
 
             // High-resolution?
             if (strpos($logoPath, '@2x.') !== false) {
-- 
GitLab