1 Commits

Author SHA256 Message Date
8bfde80d72 Fix crash with webkitgtk >= 2.50.0:
+ evolution-fix-javascript-code.patch
2025-11-18 05:45:40 -06:00
3 changed files with 99 additions and 0 deletions

View 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

View File

@@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Oct 28 19:40:36 UTC 2025 - Michael Gorse <mgorse@suse.com>
- Add evolution-fix-javascript-code.patch: Fix JavaScript
dictionary objects creation. Needed for WebKitGTK >= 2.50
(bsc#1252722 glgo#GNOME/evolution#3124).
-------------------------------------------------------------------
Tue Jun 24 03:39:39 UTC 2025 - Alynx Zhou <alynx.zhou@suse.com>

View File

@@ -31,6 +31,8 @@ URL: https://wiki.gnome.org/Apps/Evolution/
Source0: %{name}-%{version}.tar.zst
# PATCH-FIX-UPSTREAM evolution-fix-gtk-call-from-other-thread.patch bsc#1243898 alynx.zhou@suse.com -- Fix crash because of GTK call from other thread
Patch0: evolution-fix-gtk-call-from-other-thread.patch
# PATCH-FIX-UPSTREAM evolution-fix-javascript-code.patch bsc#1252722 mgorse@suse.com -- fix JavaScript dictionary objects creation.
Patch1: evolution-fix-javascript-code.patch
BuildRequires: bison
BuildRequires: bogofilter