About preparing migration towards gtk4

Michael Meeks michael.meeks at collabora.com
Thu Jan 7 10:09:28 UTC 2021


On 06/01/2021 17:12, Julien Nabet wrote:
> Thank you Michael for your feedback. I must recognize I just heard about
> SolarMutex, Uno, etc. but even if I read during days the Uno
> code/SolarMutex mechanism, I'll never have the patience to read the
> related code (and above all I'm not smart enough to understand how it
> works).

	Ah - I'm convinced you are; but it will require quite some concentrated
work, writing of notes, and exploring the problem space.

	I had a brain-wave: perhaps we could have a new hook, something like:

void     g_main_context_set_dispatch_func
		(GMainContext *context,
               GDispatchFunc     func);

	to wrap all glib main-loop dispatches with the SolarMutex; and inject a
custom poll to release too. Assuming that since there is now no
gdk-threads protection, that all the gtk+ code pushes events / thread
callbacks to the main thread via the GMainContext - then -perhaps- with
a simple, new hook - we could make this work somehow.

	Hmm... interesting.

> What I understand is there's a lot of work to do to be gtk4 compliant so
> I suppose it's not too early at all to think about it considering the
> changes it needs.

	Sure - so, if there are easy things we can do to remove obsolete
widgets, and we are targeting APIs that are present in a sensible
version of gtk3 that makes perfect sense to me.

> Hope gtk3 won't be deprecated too soon by Gnome :-)

	I imagine it will be around for 5+ years; gtk3.0.0 was released in Feb
2011, and we only just removed gtk2 support.

	ATB,

		Michael.

-- 
michael.meeks at collabora.com <><, GM Collabora Productivity
Hangout: mejmeeks at gmail.com, Skype: mmeeks
(M) +44 7795 666 147 - timezone usually UK / Europe


More information about the LibreOffice mailing list