On Sun, 2020-04-19 at 14:20 +0200, Juozas Miškinis wrote: > Hey everyone! > > I've been having some trouble trying to capture the "add/remove task > list" events in evolution-data-server and I was hoping that you could > perhaps clear some things up for me. > > 1) Here's a barebone #ESourceRegistryWatcher implementation in gjs > (returns no errors) which DOESN'T WORK (i.e. _onAppeared and > _onDisappeared methods aren't executed upon task list > addition/removal): https://paste.gnome.org/pboxc98jo > 2) Here's a similar WORKING approach that combines > #ESourceRegistryWatcher and ESourceRegistry::source-added signal > (which captures all types of #ESources): > https://paste.gnome.org/phr0crkit > > The reason to combine them here is not clear to me, but without the > watcher (i.e. if I removed line 27 in > https://paste.gnome.org/phr0crkit), registry.connect('source- > added'...) wouldn't work either. > > Here's my main question: is there anything obviously wrong with what > I have in #1?
Hi, I'm sorry I cannot help more, I do not speak gjs-ish, especially how it works with respect of asynchronous calls, but I have few guesses, like I'd rather use synchronous calls and make sure the variables you assigned the instances to are not vanished during garbage collection. Again, I do not know how gjs works and what it does with the GObject introspection generated code. I know that the ESourceRegistryWatcher works properly, it is used by evolution-alarm-notify and some other parts of Evolution itself. I'd also try to use C, to see whether it'll work, which may prove the problem in the gjs code/usage, not in evolution-data-server itself. Bye, Milan _______________________________________________ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers