From 5c67fe3a693e2169dca2fbbd34a76689ead800c4 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Mon, 25 Apr 2022 15:54:24 +0200
Subject: [PATCH] =?UTF-8?q?Fix=20#5169=20=C3=89viter=20une=20erreur=20JS?=
 =?UTF-8?q?=20sur=20`$.fn.positionner()`=20si=20la=20s=C3=A9lection=20est?=
 =?UTF-8?q?=20vide.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CHANGELOG.md                     | 1 +
 prive/javascript/ajaxCallback.js | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c45a6d30fd..c9c41e3156 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -37,6 +37,7 @@
 
 ### Fixed
 
+- #5169 Éviter une erreur JS sur `$.fn.positionner()` si la sélection est vide
 - #5168 Éviter une erreur fatale sur `analyse_fichier_connection()` si le fichier de connexion à analyser n’existe pas
 - #5101 Le statut de rubrique par défaut à tester est désormais `prepa` plutôt que `new`
 - #5183 Éviter de générer des icones trop grandes dans la liste des articles syndiqués
diff --git a/prive/javascript/ajaxCallback.js b/prive/javascript/ajaxCallback.js
index 1e2fa9bb22..76edf4e48b 100644
--- a/prive/javascript/ajaxCallback.js
+++ b/prive/javascript/ajaxCallback.js
@@ -191,6 +191,9 @@ jQuery.getScript = function(url,callback){
  * @param bool force
  */
 jQuery.fn.positionner = function(force, setfocus) {
+	if (!this.length) {
+		return this;
+	}
 	var offset = jQuery(this).offset();
 	var hauteur = parseInt(jQuery(this).css('height'));
 	var marge = jQuery.spip.positionner_marge || 5;
-- 
GitLab