Monday, December 18, 2006

OOo 2.1 source archives 2.1 source archives are now split the same way you used to see in ooo-build - to the core part (the only one really needed by the developers), system (libraries that could be already present in the system), binfilter (filters to load/save the old StarOffice formats), l10n (translations to other than English and German), and sdk (Software Development Kit). Additionally the archives are compressed with bzip2 instead of gzip for additional savings.

Big thanks to Joost who made it possible from the up-stream side. ooo-build will start using these archives. We all hope that for the beginning OOo developers the archives are less scary now - 117MB to download instead of the former 300MB...

Thursday, November 2, 2006

A a = A( b ) in C++

If you ever get involved in an argument whether A a = A( b ); is or is not equivalent to A a( b ); in C++ (like me yesterday ;-) ), the answer is "it depends". Eg. g++ has a switch for that, see the man page: -fno-elide-constructors: The C++ standard allows an implementation to omit creating a temporary which is only used to initialize another object of the same type. Specifying this option disables that optimization, and forces G++ to call the copy constructor in all cases.

So - in g++ by default it really means A a( b );, but it could also mean a copy construction from temporary [something like A a( A( b ) ); which you cannot really use unless b is a constant, eg. 3, or "blah" - would mean a declaration of a function named a otherwise] with -fno-elide-constructors. Try it yourself...

Monday, October 2, 2006 and SVG import

You know what is SVG, don't you? ;-) If not - it means Scalable Vector Graphics, and it is a vector graphics format that describes 2D graphics in XML.

So far, there's no native SVG import filter for OOo. There exists an external one, but unfortunately it has very strong dependencies - Java 5.0, and Batik.

I am currently working on another implementation. It is in C++, using the UNO Draw API, and a lighweight libsvg library. libsvg is just a parser - which is exactly what I need; unfortunately it does not seem to be too actively maintained :-( If you know about a better choice - just drop me a mail to kendy at Thanks!

If you are interested in the current progress: I can import rectangles and circles, extension to other shapes is easy. I have problems with transformations - some of them work, some do not; to be improved. If you are interested in pictures, try this snowman, and have a look how it should look like, and how it currently looks in draw. If you are interested in source code, a snapshot is here.

Thursday, September 14, 2006

Dina Holesovska

My daughter, Dina Holesovska, was born the last week, on 2006-09-05 at 20:08 CEST. You can see some photos of Dina with her happy mother and father here :-)

Friday, April 14, 2006

Weeks 04-15

x86-64 porting. Caolán joined the efforts, and the project got an extra speed ;-) - he reworked the patches for streams, and more - big thanks! So far - in the recent milestone m163 - there are all but few patches in (child workspaces long2int, sixtyfour02-04 are integrated), and the rest (about 15 patches) is waiting in sixtyfour05, configure17 & sfxcleanup child workspaces; they are all targetted 2.0.3. Looks very promising.

OOo 2.0.2. Branched ooo-build, added support for that in the apply file and, etc.

Xlib-only splash. Rewrote the Gtk+-dependant part of the faster OOo splash implementation to Xlib-only; makes it even faster & more pleasant in KDE. You can see it in 'unxsplash' CWS...

Helping Éric Bischoff. Éric (the guy who wrote the KDE address book connector) has implemented a backend for KDE system-wide settings for OOo (like the preferred e-mail client, or proxies), and started reviving cuckooo, the KPart for displaying OOo documents in konqueror window I wrote nearly 3 years ago. Helped him with the internals of that, etc. Great to feel that is not an one-man project ;-) Thank you, Éric!


  • A load of build fixes made when updating to newer milestones
  • Remove menu:helpid and menu:label from *.xml (CWS menucleanup)
  • The faster splash (CWS unxsplash)
  • The 64bit child workspaces
  • Crystal icons (CWS iconswitching2)

Build bits. Updated to newer milestones several times (m156, m160, m161, m162, m163), removed old patches several times (m152, m156, m160, m162), check for the oldest supported tag, fixed broken patches several times, a load of smaller fixes (cws-commit-patch accepts "planned" CWS state, ...), etc.

Conference calls, bugfixing, etc.

Monday, April 10, 2006

Last of the 64bit patches filed to IZ

I've just filed the last 64bit-specific patch we have in ooo-build to IssueZilla... This does not mean that porting to x86-64 is over, but when all the patches get approved & integrated (lots of them already are - in CWSes sixtyfour01-04, long2int, intptr, numberformat, dxarray, etc. to note the big ones), one should be able to get a 64bit OOo without much trouble. Of course, no-one says how much it will work for you ;-)

Maybe it is too soon to celebrate, but I should note that this wouldn't happen without Caolán and Pavel (and their patches), and of course without people originally working on the port in ooo64bit02 CWS. Thank you!

Wednesday, February 1, 2006

Cut'n'paste detected in OOo

Michael and Thorsten pointed to cpd, a cut'n'paste detector. I have run that over the OOo code (milestone m154, without binfilters and some of the system stuff), and here you can download the results. It took about 1.5 hours to process the sources on a quite fast machine - not bad ;-)

Thursday, January 26, 2006

Weeks 43-03

x86-64 porting.

  • Committed another lot of fixes from ooo-build up-stream (CWS numberformat, long2int, pj43, sixtyfour01, ...). Some of the workspaces were already integrated.
  • Tried to use gcj for the 64bit build, and believe it or not, it worked - with some workarounds. E.g. the .jars do not register yet; to be fixed.
  • Created a Wiki page about the port. Feel free to experiment with the 64bit build and add your experience there. But remember - it's still experimental.

Éric Bischoff's KDE Address Book Connector was integrated. It happened in m147, and the connector will be available in 2.0.2. Thank you, Éric, for your great work!

Icon switching. It got finaly integrated in m149, yay! iconswitching2 is on its way, it will contain small improvements of the toolbars, and the Crystal icon set. Rob, Nuno, thank you again for your designs! I hope the CWS will be ready in time to get to 2.0.2 as well...