Compare commits
4 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| b5b4ba7c68 | |||
| 16095d12af | |||
| dc495c9408 | |||
| 5d5181a004 |
2
_service
2
_service
@@ -3,7 +3,7 @@
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://gitlab.gnome.org/GNOME/evolution.git</param>
|
||||
<param name="revision">3.56.2</param>
|
||||
<param name="revision">3.52.4</param>
|
||||
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
|
||||
<param name="versionrewrite-pattern">(.*)\+0</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
|
||||
3
evolution-3.52.4.obscpio
Normal file
3
evolution-3.52.4.obscpio
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:82a8974d2d24bad9c7ac28b07ec43823261e80e6f574aee39a9ecbd936314ac8
|
||||
size 129916430
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:27ef21ba8a7c130de9a3706fac40e3476a9cdf7e0be50956b9c373aaf1e9d2cb
|
||||
size 131405326
|
||||
@@ -1,610 +0,0 @@
|
||||
From 4dd49ef283082b0289a2fa2b26e943e5067584f3 Mon Sep 17 00:00:00 2001
|
||||
From: Milan Crha <mcrha@redhat.com>
|
||||
Date: Wed, 18 Jun 2025 22:09:21 +0200
|
||||
Subject: [PATCH] I#3075 - EAttachment: Notify about property changes only in
|
||||
the main thread
|
||||
|
||||
The properties can change in the dedicated thread, but the property
|
||||
change listeners call gtk+ functions, which can be done only in
|
||||
the main thread, thus ensure that by notifying about the property
|
||||
changes only there.
|
||||
|
||||
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/3075
|
||||
---
|
||||
src/e-util/e-attachment.c | 446 ++++++++++++++++++++++----------------
|
||||
1 file changed, 261 insertions(+), 185 deletions(-)
|
||||
|
||||
diff --git a/src/e-util/e-attachment.c b/src/e-util/e-attachment.c
|
||||
index d07404c379..7e4fa46d05 100644
|
||||
--- a/src/e-util/e-attachment.c
|
||||
+++ b/src/e-util/e-attachment.c
|
||||
@@ -77,6 +77,9 @@ struct _EAttachmentPrivate {
|
||||
guint save_self : 1;
|
||||
guint save_extracted : 1;
|
||||
|
||||
+ guint is_constructed : 1;
|
||||
+ GPtrArray *pending_prop_changes; /* GUINT_TO_POINTER (property_index) */
|
||||
+
|
||||
CamelCipherValidityEncrypt encrypted;
|
||||
CamelCipherValiditySign signed_;
|
||||
|
||||
@@ -105,7 +108,8 @@ enum {
|
||||
PROP_INITIALLY_SHOWN,
|
||||
PROP_SIGNED,
|
||||
PROP_MAY_RELOAD,
|
||||
- PROP_IS_POSSIBLE
|
||||
+ PROP_IS_POSSIBLE,
|
||||
+ LAST_PROPERTY
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -117,9 +121,112 @@ enum {
|
||||
};
|
||||
|
||||
static guint signals[LAST_SIGNAL];
|
||||
+static GParamSpec *properties[LAST_PROPERTY] = { NULL, };
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (EAttachment, e_attachment, G_TYPE_OBJECT)
|
||||
|
||||
+static void
|
||||
+e_attachment_flush_pending_prop_changes (EAttachment *self,
|
||||
+ GPtrArray *pending_prop_changes,
|
||||
+ guint with_prop_index)
|
||||
+{
|
||||
+ GObject *obj = G_OBJECT (self);
|
||||
+
|
||||
+ g_object_freeze_notify (obj);
|
||||
+
|
||||
+ if (pending_prop_changes) {
|
||||
+ guint ii;
|
||||
+
|
||||
+ for (ii = 0; ii < pending_prop_changes->len; ii++) {
|
||||
+ guint property_index = GPOINTER_TO_UINT (g_ptr_array_index (pending_prop_changes, ii));
|
||||
+
|
||||
+ g_object_notify_by_pspec (obj, properties[property_index]);
|
||||
+
|
||||
+ if (property_index == with_prop_index)
|
||||
+ with_prop_index = 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (with_prop_index)
|
||||
+ g_object_notify_by_pspec (obj, properties[with_prop_index]);
|
||||
+
|
||||
+ g_object_thaw_notify (obj);
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+e_attachment_notify_property_change_idle_cb (gpointer user_data)
|
||||
+{
|
||||
+ GWeakRef *self_weakref = user_data;
|
||||
+ EAttachment *self;
|
||||
+
|
||||
+ self = g_weak_ref_get (self_weakref);
|
||||
+ if (self) {
|
||||
+ GPtrArray *pending_prop_changes;
|
||||
+
|
||||
+ g_mutex_lock (&self->priv->property_lock);
|
||||
+ pending_prop_changes = g_steal_pointer (&self->priv->pending_prop_changes);
|
||||
+ g_mutex_unlock (&self->priv->property_lock);
|
||||
+
|
||||
+ if (pending_prop_changes)
|
||||
+ e_attachment_flush_pending_prop_changes (self, pending_prop_changes, 0);
|
||||
+
|
||||
+ g_clear_pointer (&pending_prop_changes, g_ptr_array_unref);
|
||||
+ g_object_unref (self);
|
||||
+ }
|
||||
+
|
||||
+ e_weak_ref_free (self_weakref);
|
||||
+
|
||||
+ return G_SOURCE_REMOVE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+e_attachment_notify_property_change (EAttachment *self,
|
||||
+ guint property_index)
|
||||
+{
|
||||
+ /* ignore changes in "construct" properties; nobody is listening anyway */
|
||||
+ if (!self->priv->is_constructed)
|
||||
+ return;
|
||||
+
|
||||
+ if (e_util_is_main_thread (g_thread_self ())) {
|
||||
+ GPtrArray *pending_prop_changes;
|
||||
+
|
||||
+ g_mutex_lock (&self->priv->property_lock);
|
||||
+ pending_prop_changes = g_steal_pointer (&self->priv->pending_prop_changes);
|
||||
+ g_mutex_unlock (&self->priv->property_lock);
|
||||
+
|
||||
+ e_attachment_flush_pending_prop_changes (self, pending_prop_changes, property_index);
|
||||
+
|
||||
+ g_clear_pointer (&pending_prop_changes, g_ptr_array_unref);
|
||||
+ } else {
|
||||
+ gboolean schedule;
|
||||
+
|
||||
+ g_mutex_lock (&self->priv->property_lock);
|
||||
+
|
||||
+ schedule = !self->priv->pending_prop_changes;
|
||||
+
|
||||
+ if (self->priv->pending_prop_changes) {
|
||||
+ gpointer prop_ptr = GUINT_TO_POINTER (property_index);
|
||||
+ guint ii;
|
||||
+
|
||||
+ for (ii = 0; ii < self->priv->pending_prop_changes->len; ii++) {
|
||||
+ if (g_ptr_array_index (self->priv->pending_prop_changes, ii) == prop_ptr)
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (ii >= self->priv->pending_prop_changes->len)
|
||||
+ g_ptr_array_add (self->priv->pending_prop_changes, prop_ptr);
|
||||
+ } else {
|
||||
+ self->priv->pending_prop_changes = g_ptr_array_new ();
|
||||
+ g_ptr_array_add (self->priv->pending_prop_changes, GUINT_TO_POINTER (property_index));
|
||||
+ }
|
||||
+
|
||||
+ g_mutex_unlock (&self->priv->property_lock);
|
||||
+
|
||||
+ if (schedule)
|
||||
+ g_idle_add (e_attachment_notify_property_change_idle_cb, e_weak_ref_new (self));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static gboolean
|
||||
create_system_thumbnail (EAttachment *attachment,
|
||||
GIcon **icon)
|
||||
@@ -457,7 +564,7 @@ attachment_update_icon_column_idle_cb (gpointer weak_ref)
|
||||
if (attachment->priv->icon != NULL)
|
||||
g_object_unref (attachment->priv->icon);
|
||||
attachment->priv->icon = icon;
|
||||
- g_object_notify (G_OBJECT (attachment), "icon");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_ICON);
|
||||
|
||||
g_clear_object (&file_info);
|
||||
|
||||
@@ -543,8 +650,8 @@ attachment_set_loading (EAttachment *attachment,
|
||||
attachment->priv->last_percent_notify = 0;
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (attachment));
|
||||
- g_object_notify (G_OBJECT (attachment), "percent");
|
||||
- g_object_notify (G_OBJECT (attachment), "loading");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_PERCENT);
|
||||
+ e_attachment_notify_property_change (attachment, PROP_LOADING);
|
||||
g_object_thaw_notify (G_OBJECT (attachment));
|
||||
}
|
||||
|
||||
@@ -810,6 +917,17 @@ attachment_get_property (GObject *object,
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
}
|
||||
|
||||
+static void
|
||||
+attachment_constructed (GObject *object)
|
||||
+{
|
||||
+ EAttachment *self = E_ATTACHMENT (object);
|
||||
+
|
||||
+ /* Chain up to parent's method. */
|
||||
+ G_OBJECT_CLASS (e_attachment_parent_class)->constructed (object);
|
||||
+
|
||||
+ self->priv->is_constructed = TRUE;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
attachment_dispose (GObject *object)
|
||||
{
|
||||
@@ -844,6 +962,8 @@ attachment_finalize (GObject *object)
|
||||
if (self->priv->update_file_info_columns_idle_id > 0)
|
||||
g_source_remove (self->priv->update_file_info_columns_idle_id);
|
||||
|
||||
+ g_clear_pointer (&self->priv->pending_prop_changes, g_ptr_array_unref);
|
||||
+
|
||||
g_mutex_clear (&self->priv->property_lock);
|
||||
g_mutex_clear (&self->priv->idle_lock);
|
||||
|
||||
@@ -856,189 +976,145 @@ attachment_finalize (GObject *object)
|
||||
static void
|
||||
e_attachment_class_init (EAttachmentClass *class)
|
||||
{
|
||||
+ GParamFlags common_flags = G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_EXPLICIT_NOTIFY;
|
||||
GObjectClass *object_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->set_property = attachment_set_property;
|
||||
object_class->get_property = attachment_get_property;
|
||||
+ object_class->constructed = attachment_constructed;
|
||||
object_class->dispose = attachment_dispose;
|
||||
object_class->finalize = attachment_finalize;
|
||||
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_CAN_SHOW,
|
||||
- g_param_spec_boolean (
|
||||
- "can-show",
|
||||
- "Can Show",
|
||||
- NULL,
|
||||
- FALSE,
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_DISPOSITION,
|
||||
- g_param_spec_string (
|
||||
- "disposition",
|
||||
- "Disposition",
|
||||
- NULL,
|
||||
- "attachment",
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
+ properties[PROP_CAN_SHOW] = g_param_spec_boolean (
|
||||
+ "can-show",
|
||||
+ "Can Show",
|
||||
+ NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
+
|
||||
+ properties[PROP_DISPOSITION] = g_param_spec_string (
|
||||
+ "disposition",
|
||||
+ "Disposition",
|
||||
+ NULL,
|
||||
+ "attachment",
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
|
||||
/* FIXME Define a GEnumClass for this. */
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_ENCRYPTED,
|
||||
- g_param_spec_int (
|
||||
- "encrypted",
|
||||
- "Encrypted",
|
||||
- NULL,
|
||||
- CAMEL_CIPHER_VALIDITY_ENCRYPT_NONE,
|
||||
- CAMEL_CIPHER_VALIDITY_ENCRYPT_STRONG,
|
||||
- CAMEL_CIPHER_VALIDITY_ENCRYPT_NONE,
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_FILE,
|
||||
- g_param_spec_object (
|
||||
- "file",
|
||||
- "File",
|
||||
- NULL,
|
||||
- G_TYPE_FILE,
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_FILE_INFO,
|
||||
- g_param_spec_object (
|
||||
- "file-info",
|
||||
- "File Info",
|
||||
- NULL,
|
||||
- G_TYPE_FILE_INFO,
|
||||
- G_PARAM_READABLE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_ICON,
|
||||
- g_param_spec_object (
|
||||
- "icon",
|
||||
- "Icon",
|
||||
- NULL,
|
||||
- G_TYPE_ICON,
|
||||
- G_PARAM_READABLE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_LOADING,
|
||||
- g_param_spec_boolean (
|
||||
- "loading",
|
||||
- "Loading",
|
||||
- NULL,
|
||||
- FALSE,
|
||||
- G_PARAM_READABLE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_MIME_PART,
|
||||
- g_param_spec_object (
|
||||
- "mime-part",
|
||||
- "MIME Part",
|
||||
- NULL,
|
||||
- CAMEL_TYPE_MIME_PART,
|
||||
- G_PARAM_READWRITE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_PERCENT,
|
||||
- g_param_spec_int (
|
||||
- "percent",
|
||||
- "Percent",
|
||||
- NULL,
|
||||
- 0,
|
||||
- 100,
|
||||
- 0,
|
||||
- G_PARAM_READABLE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_SAVE_SELF,
|
||||
- g_param_spec_boolean (
|
||||
- "save-self",
|
||||
- "Save self",
|
||||
- NULL,
|
||||
- TRUE,
|
||||
- G_PARAM_READWRITE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_SAVE_EXTRACTED,
|
||||
- g_param_spec_boolean (
|
||||
- "save-extracted",
|
||||
- "Save extracted",
|
||||
- NULL,
|
||||
- FALSE,
|
||||
- G_PARAM_READWRITE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_SAVING,
|
||||
- g_param_spec_boolean (
|
||||
- "saving",
|
||||
- "Saving",
|
||||
- NULL,
|
||||
- FALSE,
|
||||
- G_PARAM_READABLE));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_INITIALLY_SHOWN,
|
||||
- g_param_spec_boolean (
|
||||
- "initially-shown",
|
||||
- "Initially Shown",
|
||||
- NULL,
|
||||
- FALSE,
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
+ properties[PROP_ENCRYPTED] = g_param_spec_int (
|
||||
+ "encrypted",
|
||||
+ "Encrypted",
|
||||
+ NULL,
|
||||
+ CAMEL_CIPHER_VALIDITY_ENCRYPT_NONE,
|
||||
+ CAMEL_CIPHER_VALIDITY_ENCRYPT_STRONG,
|
||||
+ CAMEL_CIPHER_VALIDITY_ENCRYPT_NONE,
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
+
|
||||
+ properties[PROP_FILE] = g_param_spec_object (
|
||||
+ "file",
|
||||
+ "File",
|
||||
+ NULL,
|
||||
+ G_TYPE_FILE,
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
+
|
||||
+ properties[PROP_FILE_INFO] = g_param_spec_object (
|
||||
+ "file-info",
|
||||
+ "File Info",
|
||||
+ NULL,
|
||||
+ G_TYPE_FILE_INFO,
|
||||
+ G_PARAM_READABLE | common_flags);
|
||||
+
|
||||
+ properties[PROP_ICON] = g_param_spec_object (
|
||||
+ "icon",
|
||||
+ "Icon",
|
||||
+ NULL,
|
||||
+ G_TYPE_ICON,
|
||||
+ G_PARAM_READABLE | common_flags);
|
||||
+
|
||||
+ properties[PROP_LOADING] = g_param_spec_boolean (
|
||||
+ "loading",
|
||||
+ "Loading",
|
||||
+ NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READABLE | common_flags);
|
||||
+
|
||||
+ properties[PROP_MIME_PART] = g_param_spec_object (
|
||||
+ "mime-part",
|
||||
+ "MIME Part",
|
||||
+ NULL,
|
||||
+ CAMEL_TYPE_MIME_PART,
|
||||
+ G_PARAM_READWRITE | common_flags);
|
||||
+
|
||||
+ properties[PROP_PERCENT] = g_param_spec_int (
|
||||
+ "percent",
|
||||
+ "Percent",
|
||||
+ NULL,
|
||||
+ 0,
|
||||
+ 100,
|
||||
+ 0,
|
||||
+ G_PARAM_READABLE | common_flags);
|
||||
+
|
||||
+ properties[PROP_SAVE_SELF] = g_param_spec_boolean (
|
||||
+ "save-self",
|
||||
+ "Save self",
|
||||
+ NULL,
|
||||
+ TRUE,
|
||||
+ G_PARAM_READWRITE | common_flags);
|
||||
+
|
||||
+ properties[PROP_SAVE_EXTRACTED] = g_param_spec_boolean (
|
||||
+ "save-extracted",
|
||||
+ "Save extracted",
|
||||
+ NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READWRITE | common_flags);
|
||||
+
|
||||
+ properties[PROP_SAVING] = g_param_spec_boolean (
|
||||
+ "saving",
|
||||
+ "Saving",
|
||||
+ NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READABLE | common_flags);
|
||||
+
|
||||
+ properties[PROP_INITIALLY_SHOWN] = g_param_spec_boolean (
|
||||
+ "initially-shown",
|
||||
+ "Initially Shown",
|
||||
+ NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
|
||||
/* FIXME Define a GEnumClass for this. */
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_SIGNED,
|
||||
- g_param_spec_int (
|
||||
- "signed",
|
||||
- "Signed",
|
||||
- NULL,
|
||||
- CAMEL_CIPHER_VALIDITY_SIGN_NONE,
|
||||
- CAMEL_CIPHER_VALIDITY_SIGN_NEED_PUBLIC_KEY,
|
||||
- CAMEL_CIPHER_VALIDITY_SIGN_NONE,
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_MAY_RELOAD,
|
||||
- g_param_spec_boolean (
|
||||
- "may-reload",
|
||||
- "May Reload",
|
||||
- NULL,
|
||||
- FALSE,
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
-
|
||||
- g_object_class_install_property (
|
||||
- object_class,
|
||||
- PROP_IS_POSSIBLE,
|
||||
- g_param_spec_boolean (
|
||||
- "is-possible",
|
||||
- "Is Possible",
|
||||
- NULL,
|
||||
- FALSE,
|
||||
- G_PARAM_READWRITE |
|
||||
- G_PARAM_CONSTRUCT));
|
||||
+ properties[PROP_SIGNED] = g_param_spec_int (
|
||||
+ "signed",
|
||||
+ "Signed",
|
||||
+ NULL,
|
||||
+ CAMEL_CIPHER_VALIDITY_SIGN_NONE,
|
||||
+ CAMEL_CIPHER_VALIDITY_SIGN_NEED_PUBLIC_KEY,
|
||||
+ CAMEL_CIPHER_VALIDITY_SIGN_NONE,
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
+
|
||||
+ properties[PROP_MAY_RELOAD] = g_param_spec_boolean (
|
||||
+ "may-reload",
|
||||
+ "May Reload",
|
||||
+ NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
+
|
||||
+ properties[PROP_IS_POSSIBLE] = g_param_spec_boolean (
|
||||
+ "is-possible",
|
||||
+ "Is Possible",
|
||||
+ NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READWRITE |
|
||||
+ G_PARAM_CONSTRUCT | common_flags);
|
||||
+
|
||||
+ g_object_class_install_properties (object_class, G_N_ELEMENTS (properties), properties);
|
||||
|
||||
signals[UPDATE_FILE_INFO] = g_signal_new (
|
||||
"update-file-info",
|
||||
@@ -1367,7 +1443,7 @@ e_attachment_set_can_show (EAttachment *attachment,
|
||||
|
||||
attachment->priv->can_show = can_show;
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "can-show");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_CAN_SHOW);
|
||||
}
|
||||
|
||||
const gchar *
|
||||
@@ -1409,7 +1485,7 @@ e_attachment_set_disposition (EAttachment *attachment,
|
||||
|
||||
g_mutex_unlock (&attachment->priv->property_lock);
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "disposition");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_DISPOSITION);
|
||||
}
|
||||
|
||||
GFile *
|
||||
@@ -1447,7 +1523,7 @@ e_attachment_set_file (EAttachment *attachment,
|
||||
|
||||
g_mutex_unlock (&attachment->priv->property_lock);
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "file");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_FILE);
|
||||
}
|
||||
|
||||
GFileInfo *
|
||||
@@ -1495,7 +1571,7 @@ e_attachment_set_file_info (EAttachment *attachment,
|
||||
|
||||
g_mutex_unlock (&attachment->priv->property_lock);
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "file-info");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_FILE_INFO);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1592,7 +1668,7 @@ e_attachment_set_mime_part (EAttachment *attachment,
|
||||
|
||||
g_mutex_unlock (&attachment->priv->property_lock);
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "mime-part");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_MIME_PART);
|
||||
}
|
||||
|
||||
gint
|
||||
@@ -1627,7 +1703,7 @@ e_attachment_set_initially_shown (EAttachment *attachment,
|
||||
|
||||
attachment->priv->initially_shown = initially_shown;
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "initially-shown");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_INITIALLY_SHOWN);
|
||||
}
|
||||
|
||||
gboolean
|
||||
@@ -1682,7 +1758,7 @@ e_attachment_set_encrypted (EAttachment *attachment,
|
||||
|
||||
attachment->priv->encrypted = encrypted;
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "encrypted");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_ENCRYPTED);
|
||||
}
|
||||
|
||||
CamelCipherValiditySign
|
||||
@@ -1703,7 +1779,7 @@ e_attachment_set_signed (EAttachment *attachment,
|
||||
|
||||
attachment->priv->signed_ = signed_;
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "signed");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_SIGNED);
|
||||
}
|
||||
|
||||
gchar *
|
||||
@@ -1985,7 +2061,7 @@ e_attachment_set_may_reload (EAttachment *attachment,
|
||||
|
||||
attachment->priv->may_reload = may_reload;
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "may-reload");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_MAY_RELOAD);
|
||||
|
||||
attachment_update_icon_column (attachment);
|
||||
}
|
||||
@@ -2011,7 +2087,7 @@ e_attachment_set_is_possible (EAttachment *attachment,
|
||||
|
||||
attachment->priv->is_possible = is_possible;
|
||||
|
||||
- g_object_notify (G_OBJECT (attachment), "is-possible");
|
||||
+ e_attachment_notify_property_change (attachment, PROP_IS_POSSIBLE);
|
||||
}
|
||||
|
||||
gboolean
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
From 4af3f6833b252f713fe19a531008d6451064701b Mon Sep 17 00:00:00 2001
|
||||
From: Milan Crha <mcrha@redhat.com>
|
||||
Date: Wed, 4 Feb 2026 08:35:22 +0100
|
||||
Subject: [PATCH] I#3238 - Calendar: Year view shows incorrect week number
|
||||
|
||||
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/3238
|
||||
---
|
||||
src/e-util/e-month-widget.c | 16 +++-------------
|
||||
1 file changed, 3 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/e-util/e-month-widget.c b/src/e-util/e-month-widget.c
|
||||
index ed8ecf6b8f..12d765c2e1 100644
|
||||
--- a/src/e-util/e-month-widget.c
|
||||
+++ b/src/e-util/e-month-widget.c
|
||||
@@ -161,32 +161,22 @@ e_month_widget_update (EMonthWidget *self)
|
||||
GDate *date, tmp_date;
|
||||
GtkWidget *widget;
|
||||
gchar buffer[128];
|
||||
- guint week_of_year, week_of_last_year = 0;
|
||||
guint ii, jj, month_day, max_month_days;
|
||||
|
||||
if (!digit_format)
|
||||
digit_format = get_digit_format ();
|
||||
|
||||
date = g_date_new_dmy (1, self->priv->month, self->priv->year);
|
||||
-
|
||||
- if (self->priv->week_start_day == G_DATE_SUNDAY) {
|
||||
- week_of_year = g_date_get_sunday_week_of_year (date);
|
||||
- if (!week_of_year)
|
||||
- week_of_last_year = g_date_get_sunday_weeks_in_year (self->priv->year - 1);
|
||||
- } else {
|
||||
- week_of_year = g_date_get_monday_week_of_year (date);
|
||||
- if (!week_of_year)
|
||||
- week_of_last_year = g_date_get_monday_weeks_in_year (self->priv->year - 1);
|
||||
- }
|
||||
+ tmp_date = *date;
|
||||
|
||||
/* Update week numbers */
|
||||
for (ii = 0; ii < MAX_WEEKS; ii++) {
|
||||
- g_snprintf (buffer, sizeof (buffer), digit_format, !week_of_year ? week_of_last_year : week_of_year);
|
||||
+ g_snprintf (buffer, sizeof (buffer), digit_format, g_date_get_iso8601_week_of_year (&tmp_date));
|
||||
|
||||
widget = gtk_grid_get_child_at (self->priv->grid, 0, ii + 1);
|
||||
gtk_label_set_text (GTK_LABEL (widget), buffer);
|
||||
|
||||
- week_of_year++;
|
||||
+ g_date_add_days (&tmp_date, 7);
|
||||
}
|
||||
|
||||
/* Update day names */
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -1,269 +1,3 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 4 14:46:58 UTC 2026 - Michael Gorse <mgorse@suse.com>
|
||||
|
||||
- Add evolution-year-view-week-number.patch: fix incorrect week
|
||||
numbers in calendar year view (bsc#1256465
|
||||
glgo#GNOME/evolution#3238).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
- Add evolution-fix-gtk-call-from-other-thread.patch: Fix crash
|
||||
because of GTK call from other thread (bsc#1243898).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 23 19:24:14 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.56.2:
|
||||
+ Bug Fixes:
|
||||
- Check return value of CamelDataWrapper calculate size
|
||||
functions
|
||||
- Cannot add actions in 'Customize User Interface' dialog
|
||||
- Ensure "New" button action in Calendar view
|
||||
- Mail: Do not strip signature for Edit as New in Sent folder
|
||||
+ Miscellaneous: Calendar: Cannot show/hide Tasks and Memos pane
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 23 12:41:39 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Drop obsolete update-desktop-files BuildRequires and macro.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 11 06:58:06 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.56.1:
|
||||
+ Bug Fixes:
|
||||
- Mail: Magic Spacebar sometimes doesn't switch mail
|
||||
- Remove Attachments fails with signed messages
|
||||
- ECompEditor: Buttons to add attachments do nothing
|
||||
- "New->..." actions missing in UI customization dialog
|
||||
- Composer: Prompt for "send with shortcut" doesn't work
|
||||
- e-convert.js: Exception on convert to plain text
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 25 09:42:52 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Drop pkgconfig(gladeui-2.0) BuildRequires and stop passing
|
||||
WITH_GLADE_CATALOG=ON to cmake, no longer build the optional
|
||||
glade support. Following this, drop the glade-catalog-evolution
|
||||
sub-package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 14 12:51:27 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.56.0:
|
||||
+ Bug Fixes:
|
||||
- Workaround shown menu icons when should not be
|
||||
- Crash on quit of the app
|
||||
- mail: Add .mbox extension to dragged email files
|
||||
- Tasks: Compare DUE date in local time zone, not the
|
||||
property's zone
|
||||
- ECalShellView: Add a translator comment for an ambiguous
|
||||
string
|
||||
- Forwarding from Unified Inbox picks wrong From account
|
||||
- Task bar in Calendar view is not sufficiently updated
|
||||
- Month View: Sometimes not fully populated
|
||||
- Mark Folder as read works not longer on subfolders
|
||||
+ Miscellaneous:
|
||||
- EWeekView: Scroll by shown weeks when scrolling by month
|
||||
- templates: Fix a circular dependency between structures
|
||||
- e-mail-shell-view-actions: Fix a memory leak
|
||||
- prefer-plain: Fix a ref/unref imbalance on an EUIActionGroup
|
||||
object
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 28 12:38:11 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.55.3:
|
||||
+ Bug Fixes:
|
||||
- EImportAssistant: Keep the preview widget expanded
|
||||
- Add option to use bigger text for time in the "To Do" pane
|
||||
- itip-formatter: State status of found appointment in email
|
||||
- MessageList: Use GTask instead of RegenData to keep track of
|
||||
current task
|
||||
- EMailLabelTreeView: Label colors not shown with symbolic
|
||||
icons
|
||||
- Switcher appearance resets to "Icons and Text" after restart
|
||||
- Entering number in search bar colours selected message
|
||||
- Composer: Middle-click paste misplaced with changed font
|
||||
scaling
|
||||
- ETree: Expander triangle is reversed
|
||||
- Use GdkDisplay instead of GdkScreen when possible
|
||||
- EUIManager: Do not do direct comparison with GVariantType
|
||||
- e-util: Remove GalA11yETableFactory and GalA11yETreeFactory
|
||||
+ Miscellaneous:
|
||||
- EWebKitEditor: Correct GObject property type on read
|
||||
- text-highlight: Update 'highlight' arguments
|
||||
- Composer: Do not add extra empty lines at the end of the plain text
|
||||
- help: Add missing help files into the build script
|
||||
+ Updated translations:
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 31 18:53:12 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.55.2 (Unstable):
|
||||
+ Bug Fixes:
|
||||
- Mail: Show inline images with 'name' as attachments
|
||||
- Apply changes in attachment properties popover with Enter
|
||||
- Change default button in delete confirmation dialog
|
||||
- S/MIME: Backup certificate with stronger/better algorithm
|
||||
- Expose the "Bulk Edit..." in the contextual menu
|
||||
- mail-autoconfig: Use real user e-mail in the request
|
||||
- ETableSortInfo: Have a strong reference on the
|
||||
ETableSpecification
|
||||
- Mail: "To Do" bar is always shown after restart
|
||||
- Mail: Allow save of a message attachment to a mail folder
|
||||
- mail-dialogs: Use GtkGrid instead of GtkTable
|
||||
- canvas: Actually subclass GInitiallyUnowned
|
||||
- libgnomecanvas: Remove gnome-canvas-i18n.h
|
||||
- Replace all occurences of gtk_icon_info_free
|
||||
- EMeetingTimeSelector: Subclass GtkGrid
|
||||
- EMeetingTimeSelector: Use a GtkGrid for the time selector
|
||||
- EComposerHeaderTable: Make it a GtkGrid subclass
|
||||
- EContactEditor: Use GtkGrid instead of GtkTable
|
||||
- EContactQuickAdd: Use GtkGrid instead of GtkTable
|
||||
- Remove ESendOptionsDialog
|
||||
- ETableConfig: Use GtkComboboxText directly
|
||||
- Use GtkGrid instead of GtkTable
|
||||
- Require GLib 2.70
|
||||
- Get rid of GtkAlignment in the code
|
||||
- EAlphabetBox: Base the widget on GtkListBox
|
||||
- Replace GtkArrow with images
|
||||
- Remove e_util_check_gtk_bindings_in_key_press_event_cb
|
||||
- Remove the use of gtk_scrolled_window_add_with_viewport
|
||||
- EWeekdayChooser: Switch to native GTK widgets
|
||||
- Replace g_memdup with g_memdup2
|
||||
- Do not use GTimeVal
|
||||
- Avoid the use of g_binding_get_source/target
|
||||
- Replace gtk_combo_box_set_focus_on_click with
|
||||
gtk_widget_set_focus_on_click
|
||||
- Use webkit_settings_font_size_to_pixels to set font size
|
||||
- Remove calendar/gui/misc.c|.h
|
||||
- itip-formatter: Import of forwarded meeting as bare event
|
||||
+ Miscellaneous:
|
||||
- ETaskTable: Use "stock_check-filled-symbolic" icon name
|
||||
- EAddressbookView: Context menu could be shown twice in the
|
||||
Minicard view
|
||||
- Switcher button icon does not change when action's icon name
|
||||
changes
|
||||
- EShellView: Do not process accels when search entry is
|
||||
focused
|
||||
- Preview layout setting does not stick after app restart
|
||||
- Remove e-reflow and e-reflow-model
|
||||
- EAttachmentBar: Verify 'possible_attachments" is non-NULL
|
||||
before using it
|
||||
- Replace margin-left/right with margin-start/end
|
||||
- e-misc-utils: Remove unused e_util_stop_signal_emission_cb()
|
||||
- Use gtk_show_uri_on_window instead of gtk_show_uri
|
||||
- EShellSwitcher: Cannot create a new window by a switcher
|
||||
button press
|
||||
- docs: Remove index references for versions not in the code
|
||||
any more
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 4 09:22:52 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.54.3:
|
||||
+ Miscellaneous: ESourceSelector: Source child drawn in too thin
|
||||
font.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 22 12:26:56 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 3.54.2:
|
||||
+ Bug Fixes:
|
||||
- Composer: Possible crash on paste
|
||||
- Correct certificate key usage constants
|
||||
- ToDo bar sometimes does not display due tasks
|
||||
+ Miscellaneous: Default inbox email: Update URIs, remove link to
|
||||
defunct mailing list.
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 18 07:15:01 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.54.1:
|
||||
+ Bug Fixes: Missing sender's S/MIME certificate import button
|
||||
+ Miscellaneous:
|
||||
- libgnomecanvas: Add few checks for argument validity
|
||||
- WebKitGTK 2.46.1: Middle mouse button inserts primary
|
||||
clipboard twice
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 13 07:36:18 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 3.54.0:
|
||||
+ Bug Fixes:
|
||||
- Calendar: Correct typos "Sent Notice" -> "Send Notice".
|
||||
- Typo in code eab-contact.
|
||||
- Calendar: Correct typo in error message id.
|
||||
- Set prgname to application ID.
|
||||
+ Miscellaneous:
|
||||
- docs: Correct developer documentation to install API indexes.
|
||||
- CI: Export also developer documentation into the web pages.
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 30 08:23:57 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.52.3:
|
||||
+ Bug Fixes:
|
||||
- Permit only one instance of “Evolution Accounts” window
|
||||
- Translations of the concepts "email" and "raw email" are difficult for users
|
||||
- Mail: junk-test not called since I#2780
|
||||
- Translations in WebExtension do not work
|
||||
- Calendar: Fix gettext format problems
|
||||
+ Miscellaneous: help: Open the latest help web pages when help
|
||||
not available locally
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 25 13:09:07 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.52.2:
|
||||
+ CI: Update OpenLDAP version
|
||||
+ CI: Update dependencies in the Flatpak manifest
|
||||
+ CI: Add language switcher into the generated help/ pages
|
||||
+ flaptak: Update dependencies in the build strict for the
|
||||
development version
|
||||
+ EWebView: Just loaded remote images may be left invisible
|
||||
+ EToDoPane: Robust open of a calendar client
|
||||
+ Calendar: Correct indent of some options in the Preferences
|
||||
+ help: Mention the Switcher buttons appearance can be changed in
|
||||
the menu
|
||||
+ Bug Fixes:
|
||||
- Ability to identify which domain a blocked remote image is related to
|
||||
- Support custom icon and text color also for Search Folders
|
||||
- Remove multiple CC warning if they are sharing common domain
|
||||
- Allow internal anchor links in HTML mail composer
|
||||
- Tooltips in Month view not always shown
|
||||
- Enhance "junk-test" to return also "inconclusive" value
|
||||
- "Thread by Subject" option not propagated to Search Folders
|
||||
- Mail: Print to File keeps previous file name
|
||||
- Tooltips only sometimes displayed in Task and Memos Pane
|
||||
- Outgoing filter: Source account condition never succeeds
|
||||
- MessageList: Parents of collapsed threads do not show labels properly
|
||||
- itip-formatter: Use open-map: link for the Location field
|
||||
- Mark for Follow Up dialog ignores date format setting
|
||||
- publish-calendar: Fails to mount destination directory
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 19 11:28:19 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- BuildRequire gettext-devel instead of gettext: allow OBS to
|
||||
shortcut through gettext-runtime-mini.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 5 06:52:20 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: evolution
|
||||
version: 3.56.2
|
||||
mtime: 1748024946
|
||||
commit: be48e0ae8f7a2cc52bcdf7b2ce360075274992ee
|
||||
version: 3.52.4
|
||||
mtime: 1722580094
|
||||
commit: 511ff56a311f93455b057ae22b68d581f900adf4
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package evolution
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -20,7 +20,7 @@
|
||||
%define _version %(echo %{version} | grep -E -o '[0-9]+\.[0-9]+\.[0-9]+')
|
||||
|
||||
Name: evolution
|
||||
Version: 3.56.2
|
||||
Version: 3.52.4
|
||||
Release: 0
|
||||
# FIXME: check if note on license is still valid (comment before license)
|
||||
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
|
||||
@@ -29,19 +29,13 @@ License: CC-BY-SA-3.0 AND LGPL-2.0-only AND LGPL-3.0-only AND OLDAP-2.8 A
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
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
|
||||
# PATCH-FIX-UPSTREAM evolution-year-view-week-number.patch bsc#1256465 mgorse@suse.com -- fix incorrect week numbers in calendar year view.
|
||||
Patch2: evolution-year-view-week-number.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: bogofilter
|
||||
BuildRequires: cmake >= 3.15
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: gettext
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: intltool
|
||||
BuildRequires: openldap2-devel
|
||||
@@ -51,6 +45,7 @@ BuildRequires: pkgconfig
|
||||
BuildRequires: psmisc
|
||||
BuildRequires: spamassassin
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: yelp-tools
|
||||
BuildRequires: pkgconfig(atk)
|
||||
BuildRequires: pkgconfig(cairo-gobject)
|
||||
@@ -60,6 +55,7 @@ BuildRequires: pkgconfig(gail-3.0) >= 3.2.0
|
||||
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.24.0
|
||||
BuildRequires: pkgconfig(geocode-glib-2.0)
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.56.0
|
||||
BuildRequires: pkgconfig(gladeui-2.0) >= 3.10.0
|
||||
BuildRequires: pkgconfig(gmodule-2.0) >= 2.40.0
|
||||
BuildRequires: pkgconfig(gnome-autoar-0) >= 0.1.1
|
||||
BuildRequires: pkgconfig(gnome-autoar-gtk-0) >= 0.1.1
|
||||
@@ -105,6 +101,22 @@ calendar, and address book) that should make daily life easier. Because
|
||||
of the modular design, it is possible to plug new components into
|
||||
Evolution or embed the existing ones in other applications.
|
||||
|
||||
%package -n glade-catalog-evolution
|
||||
Summary: Glade catalog for the Evolution groupware library
|
||||
Group: Development/Tools/GUI Builders
|
||||
Requires: %{name} = %{version}
|
||||
Requires: glade
|
||||
Supplements: (glade and %{name}-devel)
|
||||
|
||||
%description -n glade-catalog-evolution
|
||||
Evolution consists of modular components (at the moment: mailer,
|
||||
calendar, and address book) that should make daily life easier. Because
|
||||
of the modular design, it is possible to plug new components into
|
||||
Evolution or embed the existing ones in other applications.
|
||||
|
||||
This package provides a catalog for Glade, to allow the use of Evolution
|
||||
widgets in Glade.
|
||||
|
||||
%package -n evolution-plugin-bogofilter
|
||||
Summary: Bogofilter plugin for the Evolution groupware suite
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
@@ -175,12 +187,14 @@ to develop applications that require these.
|
||||
%cmake \
|
||||
-DLIBEXEC_INSTALL_DIR=%{_libexecdir} \
|
||||
-DENABLE_YTNEF=OFF \
|
||||
-DWITH_GLADE_CATALOG=ON \
|
||||
-DENABLE_GTK_DOC=ON \
|
||||
-DCMAKE_SKIP_INSTALL_RPATH=OFF
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
%suse_update_desktop_file -r -G "Mail and Calendar" org.gnome.Evolution GNOME GTK Network Email Calendar ContactManagement
|
||||
%find_lang %{name} %{?no_lang_C}
|
||||
%fdupes %{buildroot}/%{_prefix}
|
||||
|
||||
@@ -286,6 +300,10 @@ to develop applications that require these.
|
||||
%{_libdir}/evolution-data-server/camel-providers/libcamelrss.urls
|
||||
%{_libdir}/evolution/modules/module-rss.so
|
||||
|
||||
%files -n glade-catalog-evolution
|
||||
%{_libdir}/glade/modules/libgladeevolution.so
|
||||
%{_datadir}/glade/catalogs/evolution.xml
|
||||
|
||||
%files -n evolution-plugin-bogofilter
|
||||
%{_datadir}/metainfo/org.gnome.Evolution-bogofilter.metainfo.xml
|
||||
%{_libdir}/evolution/modules/module-bogofilter.so
|
||||
|
||||
Reference in New Issue
Block a user