Thursday, 9 November 2017

gtk3 + broadway + libreoffice

Out of the box in Fedora 26 I see that our gtk3 version of LibreOffice mostly works under broadway so here's libreoffice displaying through firefox. Toolbar is toast, but dialogs and menus work.


broadwayd :5 &
firefox http://127.0.0.1:8085 &
GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 soffice --nologo &

Monday, 23 October 2017

Discrepancy Report #107743

Short (1996) little article about a bug in the shuttle starboard manipulator arm display position.

Spoiler: A half-dozen pages of forms detail [the error] ... the most remarkable thing about the error and its paper trail. “There is no starboard manipulator arm”

Monday, 11 September 2017

Flickerless Gtk3 OpenGL Transitions

While I got OpenGL transitions working under Gtk3 at the end of last year basically matching the Gtk2/Generic OpenGL quality the transition into and out of the OpenGL sequence wasn't very satisfying. And with access to HiDPI it was clearly even worse with an unscaled image momentarily appearing before the correct one.

So here's the before and after of the improvements that landed on upstream master today. Just screen-recordings with built in ctrl+shift+alt+t under gnome3 and positioned side by side and clipped roughly together in pitivi

Thursday, 1 December 2016

Impress LibreOffice OpenGL Slide Transitions under Wayland via GTK3


Impress LibreOffice OpenGL Slide Transitions under Wayland via GTK3 (GtkGlArea).

So I've implemented enough to get this working on my machine now. I've demoed "static", "glitter" and "honeycomb" above from my -O0 debugging build. I'll work on merging this to master now, patches are in our gerrit instance. Porting from glew to epoxy is a necessary step, I know it builds on Windows and Mac, but that's utterly untested.

Thursday, 27 October 2016

Deckard and LibreOffice

LibreOffice reuses the same ui format that gtk uses. This suggests that deckard could be used to preview translations of them.

Testing this out shows (as above) that it can be made to work. A few problems though:

1. We have various placeholder widgets which don't work in deckard because the widgets don't exist in gtk so dialogs that use them can't display as something falls over with e.g. "Invalid object type 'SvSimpleTableContainer'" I had hoped I'd get placeholders by default on failure.
2. Our .po translation entries for the dialogs strings all have autogenerated msgctxt fields which don't correspond to the blank default of the .ui so the msgctxt fields have to be removed, then msguniq to remove duplicates, and the result can the be run through msgfmt to create a .mo that works with deckard to show web-previews

Friday, 21 October 2016

Office Binary Document RC4 CryptoAPI Encryption

In LibreOffice we've long supported Microsoft Office's "Office Binary Document RC4 Encryption" for decrypting xls, doc and ppt. But somewhere along the line the Microsoft Office encryption scheme was replaced by a new one, "Office Binary Document RC4 CryptoAPI Encryption", which we didn't support. This is what the error dialog of...

"The encryption method used in this document is not supported. Only Microsoft Office 97/2000 compatible password encryption is supported."

...from LibreOffice is telling you when you open, for example, an encrypted xls saved by a contemporary Microsoft Excel version.

I got the newer scheme working this morning for xls, so from LibreOffice 5-3 onwards (I may backport to upstream 5-2 and Fedora 5-1) these variants can be successfully decrypted and viewed in LibreOffice.

Thursday, 7 July 2016

crashtesting: now 92000 documents

crash testing, now 92000 documents continuously tested

Last August we had a collection of approximately 76000 documents. This July we have over 92000 documents. The corpus is mostly gathered from our bugzilla and other projects bugzillas via our get-bugzilla-attachments-by-mimetype script. For testing purposes we continuously import them all, and then export certain formats to multiple destination formats. For example odts are re-exported to odt, doc and docx and the results of what documents crashed (which includes asserts) are uploaded to the crashtest site
 
I like to imagine that these are typically the type of mean and bitter documents that try to eat innocent office software alive.
 
The get-bugzilla-attachments-by-mimetype script only downloads new attachments from its target bugzillas which are not already downloaded. The last run to refresh the corpus took over two days to complete. Refreshing isn't fast or cheap so it's fairly infrequent.
 
The regular crashtesting run to import and reexport the corpus is comparatively frequent, takes approximately 24 hours and typically gets run every two or three days on the latest 64bit Linux master in headless mode.