[evolution-data-server] ESourceRegistryWatcher: The 'filter' signal listener should not be required
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] ESourceRegistryWatcher: The 'filter' signal listener should not be required
- Date: Mon, 20 Apr 2020 16:42:34 +0000 (UTC)
commit 2ec8b41d7e1268e882ad695dec6e4642a0b21d1b
Author: Milan Crha <mcrha redhat com>
Date: Mon Apr 20 18:42:19 2020 +0200
ESourceRegistryWatcher: The 'filter' signal listener should not be required
The documentation says the 'filter' signal is not needed, in which case all
the sources are included, but this did not work properly, because glib
overrode the signal output value to FALSE, even it had been preset to TRUE.
src/libedataserver/e-source-registry-watcher.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/src/libedataserver/e-source-registry-watcher.c b/src/libedataserver/e-source-registry-watcher.c
index 0ad4692ad..c6aa984d3 100644
--- a/src/libedataserver/e-source-registry-watcher.c
+++ b/src/libedataserver/e-source-registry-watcher.c
@@ -109,7 +109,10 @@ source_registry_watcher_try_add (ESourceRegistryWatcher *watcher,
if (!uid)
return FALSE;
- g_signal_emit (watcher, signals[FILTER], 0, source, &can_include);
+ /* Check whether anything is listening, because glib overrides the result
+ value with FALSE, when there's nothing listening. */
+ if (g_signal_has_handler_pending (watcher, signals[FILTER], 0, FALSE))
+ g_signal_emit (watcher, signals[FILTER], 0, source, &can_include);
if (!can_include) {
if (with_remove_check)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]