forked from pool/evolution
Fix crash with webkitgtk >= 2.50.0:
+ evolution-fix-javascript-code.patch
This commit is contained in:
90
evolution-fix-javascript-code.patch
Normal file
90
evolution-fix-javascript-code.patch
Normal file
@@ -0,0 +1,90 @@
|
||||
From 811a6df1f990855e49ecc0ba7b1a7f7a5ec251e6 Mon Sep 17 00:00:00 2001
|
||||
From: Milan Crha <mcrha@redhat.com>
|
||||
Date: Fri, 29 Aug 2025 07:42:10 +0200
|
||||
Subject: [PATCH] I#3124 - JavaScript: Correct dictionary objects creation
|
||||
(WebKitGTK 2.49.4)
|
||||
|
||||
The arrays do not have named indexes, though it worked only by a chance
|
||||
with the previous WebKitGTK versions. Correct how the objects are created
|
||||
to follow the standard.
|
||||
|
||||
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/3124
|
||||
---
|
||||
data/webkit/e-editor.js | 10 +++++-----
|
||||
data/webkit/e-web-view.js | 4 ++--
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/data/webkit/e-editor.js b/data/webkit/e-editor.js
|
||||
index c4e643d9ea..340ff54643 100644
|
||||
--- a/data/webkit/e-editor.js
|
||||
+++ b/data/webkit/e-editor.js
|
||||
@@ -4409,7 +4409,7 @@ EvoEditor.LinkGetProperties = function()
|
||||
var res = null, anchor = EvoEditor.getParentElement("A", null, false);
|
||||
|
||||
if (anchor) {
|
||||
- res = [];
|
||||
+ res = {};
|
||||
res["href"] = anchor.hasAttribute("href") ? anchor.getAttribute("href") : "";
|
||||
res["text"] = anchor.innerText;
|
||||
res["name"] = anchor.name;
|
||||
@@ -4419,7 +4419,7 @@ EvoEditor.LinkGetProperties = function()
|
||||
range = document.getSelection().getRangeAt(0);
|
||||
|
||||
if (range) {
|
||||
- res = [];
|
||||
+ res = {};
|
||||
res["text"] = range.toString();
|
||||
}
|
||||
}
|
||||
@@ -5513,7 +5513,7 @@ EvoEditor.InsertSignature = function(content, isHTML, canRepositionCaret, uid, f
|
||||
EvoUndoRedo.StopRecord(EvoUndoRedo.RECORD_KIND_GROUP, "InsertSignature");
|
||||
}
|
||||
|
||||
- var res = [];
|
||||
+ var res = {};
|
||||
|
||||
res["fromMessage"] = fromMessage;
|
||||
res["checkChanged"] = checkChanged;
|
||||
@@ -6722,7 +6722,7 @@ EvoEditor.onContextMenu = function(event)
|
||||
if (document.getSelection().isCollapsed)
|
||||
nodeFlags |= EvoEditor.E_CONTENT_EDITOR_NODE_IS_TEXT_COLLAPSED;
|
||||
|
||||
- res = [];
|
||||
+ res = {};
|
||||
|
||||
res["nodeFlags"] = nodeFlags;
|
||||
res["caretWord"] = EvoEditor.GetCaretWord();
|
||||
@@ -6743,7 +6743,7 @@ document.onselectionchange = function() {
|
||||
EvoEditor.maybeUpdateFormattingState(EvoEditor.forceFormatStateUpdate ? EvoEditor.FORCE_YES : EvoEditor.FORCE_MAYBE);
|
||||
EvoEditor.forceFormatStateUpdate = false;
|
||||
|
||||
- var sel = document.getSelection(), args = [];
|
||||
+ var sel = document.getSelection(), args = {};
|
||||
|
||||
args["isCollapsed"] = sel.isCollapsed;
|
||||
|
||||
diff --git a/data/webkit/e-web-view.js b/data/webkit/e-web-view.js
|
||||
index 591ee4f20e..b83899ba32 100644
|
||||
--- a/data/webkit/e-web-view.js
|
||||
+++ b/data/webkit/e-web-view.js
|
||||
@@ -399,7 +399,7 @@ Evo.elementClicked = function(elem)
|
||||
dom_window = parent_dom_window;
|
||||
}
|
||||
|
||||
- var res = [];
|
||||
+ var res = {};
|
||||
|
||||
res["iframe-id"] = parent_iframe_id;
|
||||
res["elem-id"] = elem.id;
|
||||
@@ -617,7 +617,7 @@ Evo.GetElementFromPoint = function(xx, yy)
|
||||
if (!elem)
|
||||
return null;
|
||||
|
||||
- var res = [], iframe;
|
||||
+ var res = {}, iframe;
|
||||
|
||||
iframe = elem.ownerDocument.defaultView.frameElement;
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
Reference in New Issue
Block a user