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).

JUL
10
2018

A new book on CMake

Hi,

there is a new book on CMake (there are not many):
Professional CMake - A practical guide.

I haven't read it yet, so I cannot say more about it, but I guess it should be useful.

APR
23
2017

Current state of Babe

A better view of this post can be found here:
https://medium.com/@temisclopeolimac/current-state-of-babe-9fb56ce16ac6

To continue my last post about Babe [1] where I wrote about a little of its history, in this new entry (I’ve now switched from the KDE blogs to Medium) I will tell you about the current state of Babe and the features implemented so far.
[1] https://blogs.kde.org/2017/04/14/introducing-babe-history

So welcome to this walk through Babe:

APR
14
2017

Introducing Babe - History

https://babe.kde.org/

This is my very first post for KDE blogs and it is also my very first application. So when I sit down to think about what to write about I thought I would like to tell you all about how and why I wanted to start coding and then why I decided to create a (yet another (i know)) music player, specially made for KDE/Plasma.

So here comes the story:

SEP
3
2016

KDb 3, KProperty 3, KReport 3, Kexi 3 and special offer during Akademy

We're pretty close to "beta" releases of the KDb 3, KProperty 3, KReport 3 frameworks as well as Kexi 3, the data-oriented app creator. So while I am not in person @ Akademy I though a "special offer" during this special time would be in order: if anyone has questions or needs assistance in planning port to one of the APIs offered, ping me on IRC or mail me. And also later :)

What's in the box and when to use the toys:

APR
24
2016

clazy: Suppressing warnings

Clazy [1][2] just got support for suppressing warnings by reading a special comment in your code.
The syntax is similar to what krazy has.

Ignore the whole file:
// clazy:skip

Ignore the whole file for these checks:
// clazy:excludeall=foreach,qstring-allocations

Ignore these checks at the line number where the comment appears:
(...) // clazy:exclude=qfileinfo-exists,copyable-polymorphic

Enjoy!

FEB
3
2016

Hidden b.k.o-phab links

Well, consider them unhidden now: if you missed a structured place to link bugs.kde.org big/wish reports with KDE Phabricator tasks, look no further.

NOV
15
2015

New C++/Qt code checks in clazy static analyzer

About two months ago I blogged about clazy, a Qt oriented static analyser.

Since then it has moved to an official KDE repo http://anongit.kde.org/clazy, got an IRC channel (#kde-clazy @ freenode) and also many fun new checks.

Here's a quick dump of the new features (be sure to see the README for the old checks too):

**** Performance related checks ****

NOV
5
2015

QRegExp + QStringLiteral = crash at exit

If you're seeing crashes lately, and they look like:

(gdb) bt
#0 0x00007ffff6790913 in QString::~QString() () from /usr/x86_64-pc-linux-gnu/lib/libQt5Core.so.5
#1 0x00007ffff680fd89 in QHashData::free_helper(void (*)(QHashData::Node*)) () from /usr/x86_64-pc-linux-gnu/lib/libQt5Core.so.5
#2 0x00007ffff6828e14 in (anonymous namespace)::Q_QGS_globalEngineCache::innerFunction()::Holder::~Holder() ()
from /usr/x86_64-pc-linux-gnu/lib/libQt5Core.so.5

AUG
11
2015

KSnapshot-Next

KSnapshot is getting an overhaul.

It's actually a little more complicated than that. I started to work on the KF5 port of KSnapshot (EDIT: no, contrary to what Phoronix claims this port is not my work; I simply wanted to fix anything that needed fixing) sometime in early March this year, before I realised that the codebase, while perfectly in order for being a X11-only screenshot taker for KDE (yes, KSnapshot actually has a complete and fairly decent KF5 port in its frameworks branch on KDE Git), was in need of a major overhaul if we were going to get proper Wayland support in.

Pages