FEB
20
2021

unique_ptr difference between libstdc++ and libc++ crashes your application

Thanks to the KDE FreeBSD CI, which runs our code on top of libc++, we discovered an interesting difference between libstdc++ and libc++'s implementation of unique_ptr. This is quite unexpected, and the actual result for users is even more unexpected: it can lead to crashes in specific situations. This happens when a widget -- using unique_ptr for its d pointer, as is customary these days -- installs an event filter. That event filter will be triggered during destruction of child widgets (at least for the QEvent::Destroy event, I've also seen it with QEvent::Leave events for instance).

SEP
11
2019

News from KDE PIM in July/August 2019

Following Volker's last blog on this topic, here are some highlights of the recent work that has been done around Kontact / PIM during this summer. First of all, stats: there were around 1200 commits in the past two months, leading to the new 19.08 release.

KDE Itinerary

You can have a good overview of Volker's work by following this blog.

Kontact

It seems our team was mostly focused on cleaning, fixing and introducing little UI features during summer:

APR
17
2019

2019 Toulouse PIM sprint report

Like every year, a number of KDE PIM developers met in Toulouse for a bit of bugfixing.

AUG
2
2018

LibreOffice doesn't start if QT_NO_GLIB is set

That was a surprising find. Libreoffice wouldn't start anymore (just some splash screen with a progressbar, then nothing happens).

After some debugging (comparing my normal zsh session where it wouldn't start, with a clean `sudo -u dfaure bash` session where it worked), I found the culprit. I had QT_NO_GLIB=1 in my environment for some reason, and that's what breaks libreoffice...

Posting this in case it helps someone one day ;)

JUL
24
2018

2018 Toulouse PIM sprint report

Like every year, the PIM developers met in Toulouse for a bit of bugfixing ;)

Except for Dan Vratil, we forgot to blog about it, here's a belated blog post with what we did there.

JUL
21
2018

Upgrading to OpenSUSE Leap 15.0

Upgrading from Leap 42.3 to Leap 15.0... How hard can it be? Well, there was a bit of fighting necessary. One fight due to an encrypted root partition, another one due to NVIDIA and libGL.

I used the zypper upgrade method, from a text virtual terminal (after stopping X), which always seems safer to me than booting on a USB disk and hoping the partition setup is correct.

AUG
15
2017

Running applications and unittests without "make install"

In our Akademy presentation, Kévin and I showed the importance for a better developer story to be able to work on a KDE module without having to install it. Running unittests and running applications without installing the module at all is possible, it turns out, it just needs a bit of effort to set things up correctly.

JUN
16
2016

Icon theme deployment on Windows, Mac OS and mobile platforms

During the Randa meeting I implemented some magic in KIconThemes to generalize a design initially made by Christoph Cullmann for Kate.

On platforms other than Linux/BSD, icon themes are not available as part of the system, and installing 6235 files takes forever. The deployment strategy for applications on those operations systems is now the following:

JUN
3
2016

Unlocking wallet during startup

While setting up plasma5 I found a solution for something that had been bothering me forever. Basically, while session management is restoring all windows, the wallet isn't open yet, so if the wallet is needed to get online (wifi password), all the apps being restored (in my case, about 20 konqueror windows) have no networking yet and just show error pages.
I had to be there during startup and type fast to unlock the wallet before the apps needed it.

MAY
16
2016

Compiling all of Qt5, KF5, Plasma5, kdepim5, apps...

I see a very high value in compiling my own Qt, and on top of it all the KDE-made software that I use. This makes it very easy to fix bugs and add improvements to the software I use on a day to day basis. Nowadays I think many developers use distro packages for Qt or KF5 or even the whole environment except for the one app they're working on, but in my opinion this leads to "silo" thinking, with workarounds in upper layers rather than fixing issues at the right place.

So, here's a working and easy recipe for compiling all the Qt-based software you use.

Pages