[Libreoffice] feature/gtk3 merged ...

Michael Meeks michael.meeks at suse.com
Tue Oct 25 05:54:03 PDT 2011


Hi guys,

	I just pushed feature/gtk3 to master. What does that mean ?
well, a few things. While there are no known major bugs, and a fair
bit of testing has been done - there are a large number of backends
that this affects. This mainly affects unix where it touches the gtk,
gtk3, gen, svp, kde and kde4 backends. As you can see this makes
testing every corner under every toolkit somewhat hard. Having said
that the biggest changes are to the gtk and svp backends.

	* implements an (unfinished) but 'pure' gtk3 port
		+ avoids direct X library linkage
		+ enables broadway / web-office prototype
		+ cleanly re-uses svp for client-side rendering
		+ churns synchronous debug, performs badly,
		  is unfinished etc. [ should default to off ]
	* improves the svp code
		+ avoids direct X library linkage
		+ thus making targetting Android / iOS possible
		+ substantially accelerates rendering by working
		  around many clipping performance issues
		+ adds damage detection to svp rendering surfaces
		+ aborted attempt to make svp fully cross-platform,
		  blocked on an internal freetype or more re-factoring
	* re-factoring / cleanup
		+ shares lots of code between gtk, svp and gen backends
		  lots of cut/paste code eliminated.
		+ ports lots of gtk2 code to use gdk wrappers instead of
		  raw X, to share with gtk3
		      + the gtk build should compile without warning still.
		+ re-working of misc. legacy cross-platform code.

	The gtk3 code is of course not yet optimal, there is plenty of
scope for improvement.

	It should also be the case that vcl/ is still ABI/binary compatible -
though unfortunately one enumeration re-name in a public header, and
some new struct constructors may cause a fairly wide re-build on
updating.

	It is entirely possible that some platform will get broken -
if so I apologise - but it has been run-time tested on Mac, MingW, and
all of the above mentioned Unix variants without significant problems.

	There is one minor annoyance I discovered of a warning under gtk2:

	g_main_context_prepare(): main loop already active in another thread

	that comes from me slightly mis-using the glib mainloop on
older glibs (sadly it seems that I need to write our own timeout
source to compensate).

	Anyhow - thoughts / bugs / reactions much appreciated,

	ATB,

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list