Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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@suse.com  <><, Pseudo Engineer, itinerant idiot


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.