Issue 366

16th November 2014 by KDE Commit-Digest Team


Danny Allen
Alex Fikl
Giacomo Barazzetti

This Week...

Gwenview gains "Recent Files" option. Cantor sees multiple backends (R, Lua, KAlgebra/analitza, Maxima, Qalculate) and KLetters ported to Qt5/KF5. Refactoring in of the custom defines and includes plugins in KDevelop: the compiler provider is a library now. Skrooge adds new advice detecting scheduled operations having date not aligned with the last inserted operation. Heavy development including introducting a base class Resource; also bugfixes.


Commits 1949 by 118 developers
Open Bugs 23237
Open Wishes 16108
Bugs Opened 221 in the last 7 days
Bugs Closed 141 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Albert Astals Cid
Laurent Montel
Gilles Caulier
Martin Gräßlin
Kaan Özdinçer
Aleix Pol Gonzalez
Lukáš Tinkl
Burkhard Lück
Boudewijn Rempt
Martin Klapetek

Internationalization (i18n) Status

Bug Killers

Person Bugs Closed
Christoph Feck
Gilles Caulier
nowrep gmail com
Burkhard Lück
Thomas Lübking
Jan Grulich
Myriam Schweingruber
kwadraatnope hotmail com
emmanuelpescosta099 gmail com
Julian Seward

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools





[]   []   

KDE Base

[] []   []  









Networking Tools


User Interface








There are 55 selections this week


Development Tools

Milian Wolff committed changes in [kdevplatform] plugins/konsole/kdevkonsoleview.cpp:

Fix crash on shutdown.

Apparently the old-school Qt signal/slot connection was more
safe here before. The new-style connect gets executed when the
plugin is about to shutdown and then we'd crash. Now we manually
disconnect to prevent that from happening.

Miquel Sabaté committed changes in [kdev-php] /:

completion: added tokens that were missing in the CodeCompletionContext class.

In the big switch of the CodeCompletionContext class constructor some tokens
were missing. My fault since I was the one who introduced these new tokens in
the parser.

Milian Wolff committed changes in [kdev-clang] duchain/unknowndeclarationproblem.cpp:

Do not waste time on computing include paths when not required.

This removes a major source of UI freezes for me. Most of the time
we don't have any candidates for unknown declarations. In such cases
we can return early and safe the time otherwise spent in the
expensive includeFiles function.

Milian Wolff committed changes in [kdevelop/4.7] /:

Refactor the custom defines and includes plugin.

The compiler provider is not a plugin anymore, but a library that
is used in multiple places. In KF5, when the KCM is also not a
plugin anymore, we can merge all three together into one single
plugin .so.

For now, this move already simplifies the logic tremendously and
removes a lot of boilerplate code that was required to access
the CompilerProvider/SettingsManager from various places.

Note that the distinction between CompilerProvider and SettingsManager
is also pretty artificial. I plan to merge the two classes together
and futher clean up the code then. There is a one-to-one relation ship
after all between these two classes.

In addition to the above, I cleaned up the code wherever I noticed
any opportunity for that. There are probably more places for that.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 22 more) Revision eb06a17...


Filipe Saraiva committed changes in [cantor/frameworks] /backends:

R backend ported to Qt5/KF5. R server needs to be ported yet.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision f1870d2...
Inge Wallin committed changes in [klettres] /:

KLettres is now officially a KF5 based application!


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 11 more) Revision 0b0856c...


Tomas Mecir committed changes in [gwenview] /:

Replace the 'Recent URLs' tab with a 'Recent Files' one, which shows the same files as the recently opened menu item does.

Motivation as per 331011 in bugzilla.

Marcel Wiesweg committed changes in [digikam] /threadimageio:

Adapt image preview loading to use the new settings.
PreviewTask is restructured and much cleaner now.

Marcel Wiesweg committed changes in [digikam] /album:

Enable showing albums on collections which are not available (removable media)
There is currently no option in the UI to switch this off,
though there is a simple method in album manager to toggle this setting

KDE Base

Sebastian Kügler committed changes in [kcoreaddons] /:

Allow to read KPluginMetaData from .desktop files

Move the logic to create a KPluginMetaData object from desktoptojson
into KPluginMetaData.

This allows to load metadata from a .desktop file, making it possible to
load desktop files without going through KPluginInfo (and thus
KService). This is useful for conversion to json data, which will be
used to index packages in the KPackage framework for faster lookups,
similar to the index proof-of-concept for KPluginTrader.


Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 1588cce...
Frank Reininghaus committed changes in [kde-baseapps/Applications/14.12] dolphin/src/kitemviews/kitemlistwidget.cpp:

Use deleteLater() to delete the selection toggle in KItemListWidget

This patch should make a crash with a backtrace as provided in the bug
report impossible. I'm not sure if this would really prevent the crash
- it looks like the actual cause of the problem could be in
QGraphicsView or anywhere else, but it's hard to tell because the bug
was reported just once and does not seem reproducible. But I'm pretty
sure that this change doesn't make anything worse.

REVIEW: 121087

David Rosca committed changes in [bluedevil] /daemon/kded:

Restore adapter powered state after wakeup from suspend

Martin Klapetek committed changes in [plasma-workspace/Plasma/5.1] freespacenotifier/freespacenotifier.cpp:

[freespacenotifier] Fix hiding the SNI when avail space goes up again

The else branch handling that was one if-level above, so the SNI was
never hidden when there was enough space again

David Rosca committed changes in [bluedevil] src/monolithic/monolithic.cpp:

Monolithic: Set Passive state when Bluetooth is offline

David Rosca committed changes in [libbluedevil] bluedevil/bluedevilmanager_p.cpp:

Check adapter for nullptr in interfacesAdded/interfacesRemoved slots

Stefan Brüns committed changes in [kio] src/core/kfileitem.cpp:

cleanup overlay icon usage

The locked overlay should be added also for directories, as there is no
distinct "unreadable directory" icon.
No overlay icon for "gzip files with .gz file ending", there is a
mimetype icon for gzip files.

REVIEW: 120606

Aleix Pol Gonzalez committed changes in [plasma-workspace] shell/shellcorona.cpp:

Take into account the primary screen can be redundant

We will always try to put our desktop view in the biggest screen, when 2
are overlapping.

Lukáš Tinkl committed changes in [plasma-desktop] kcms/icons/icons.knsrc:

fix target install dir

installing icon themes from GHNS works again :)

Lukáš Tinkl committed changes in [plasma-desktop] kcms/style/style.desktop:

set X-KDE-Init-Phase

This is needed by kcminit_style to properly export GTK_RC* evn vars
to the launch that GTK apps start up properly styled.

Make sure to update plasma-workspace too

Kai Uwe Broulik committed changes in [plasma-workspace] /notifications:

Show notification configure button only if application actually has configurable notifications

This prevents that clicking the button results in an empty dialog giving our users sad puppy eyes

REVIEW: 121105

Marco Martin committed changes in [plasma-workspace] /:

add possibility for l&f package to have layouts

if the l&f package has a default layout script, make it win over the one of the shell.
this should be used for distributions to customize.

since there can be one l&f package with multiple shells, a layout is specific for a particular shell package, so search the files as layouts/shellName-layout.js, like layouts/

Reviewed by: Rohan Garg

David Rosca committed changes in [bluedevil] src/monolithic/monolithic.cpp:

Check usableAdapter against nullptr in regenerateDeviceEntries

Fixes occasional crash when new adapter is added.


Dan Vratil committed changes in [kdepimlibs/KDE/4.14] akonadi/calendar/incidencefetchjob_p.cpp:

IncidenceFetchJob: don't get stuck when no calendar collections exist

The job never emitted finished() when the CollectionFetchJob returned no
collections. This causes KMail to get stuck when user opens an invitation
without having any calendar resource set up.

FIXED-IN: 4.14.4

Dan Vratil committed changes in [kdepim/KDE/4.14] /:

Provide UI feedback when waiting for opened message to be retrieved

When user double-clicks a message, the Viewer will not appear until
the ItemFetchJob retrieves the message. This can however take some
time when the Session is blocked and during that time user does not
have any feedback on what is happening.

This patch makes use of the busy dialog provided by KMCommands, so
that users can at least see that something is going on.

REVIEW: 121091

Diffs: 1, 2, 3, 4 Revision 44bfeed...


Stephane Mankowski committed changes in [skrooge] plugins/skrooge/skrooge_scheduled/skgscheduledplugin.cpp:

feature: New advice detecting scheduled operations having date not aligned with the last inserted operation

Dmitry Kazakov committed changes in [calligra/krita-chili-kazakov] /:

Fixed dynamical updates of the Transform Mask

This patch implements numerous fixes and refactoings:

1) Implemented KisSafeTransform. It works like a usual QTransform but
it takes maths into account. That is the transform and its reverse
are *not* defined on the entire R^2 plane. Instead the valid input
area is limited by the horizon line and nothing can be transformed
above it. KisSafeTransform takes that into account and clips the
desired rect/polygon to fit the valid area.

2) KisTransformMask::need/changeRect now uses safe trasnforms.

3) KisAsyncMerger recalculates the area of the clone's source to fetch
correct data. To fix concurrency, this extra area is taken into account
in KisCloneLayer::accessRect();

4) Implemented detailed unittests for dynamicat transform masks.

5) Added ability to store reference images of the unittest in a
separate folder (outside repository).

It consists of 3 major parts:

1) checkQImageExternal() is expected to be used to fetch data from
external folders only.

2) KRITA_UNITTESTS_DATA_DIR environment variable is used to search for
additional data sources

to a path will write the output of the unittest as a reference to
an external folder.

6) The testing images are stored in:

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 09488d4...


Vishesh Handa committed changes in [jungle] /:

MovieDbConsumer: Wait for init signal

The AysncJobConsumer now understands the concept of the being "ready"
and does not process any events when it is not ready. TheMovieDbApi
informs it of being ready when it gets the init signal.

This isn't perfect as libtmdbqt does not try to initialize itself again
when we connect to the network.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 6be7f33...

Networking Tools

Jan Grulich committed changes in [plasma-nm] vpn/openvpn/openvpn.cpp:

Remove redirect-gateway tag from exported/imported config file

This is not used even in nm-connection-editor. Also if we are checking for this tag
which will never be present in exported OpenVPN connection from nm-connection-editor
we always set default-route in IPv4 config as true, which is not usually what users
want. I was talking with Dan Williams yesterday and NM-openvpn relies on autodetection
of the server user is connecting to. Also he plan to add functionality to this plugin
to set never-default automatically from this plugin.

User Interface

Martin Gräßlin committed changes in [kwayland] /:

[server] Introduce a base class Resource

The Resource base class is supposed to be used by all interface
classes which get created for a wl_resource.

Most interface classes are adjusted, but there are some exceptions:
* BufferInterface: is different as the wl_resource is already created
* PointerInterface and KeyboardInterface: those two need changes, the
implementation differs from all other interface implementations.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 4a54374...
Hugo Pereira Da Costa committed changes in [oxygen-gtk/gtk3-1.4] rc/gtk-spinner.css:

update spinner code (copied from Adwaita) to have working spinner for gtk+-3.14

Martin Gräßlin committed changes in [kwayland] /:

Fix shared memory access in BufferInterface

The BufferInterface used nested calls of wl_shm_buffer_begin_access
and allowed multiple different BufferInterfaces to be in a block
between wl_shm_buffer_begin_access and wl_shm_buffer_end_access.
But this is not allowed: nesting is only possible if it accesses
the same buffer!

This resulted in an abort when we accessed two BufferInterfaces
at the same time. The added test case aborts in the previous

The fix now changes the semantic of the method. The BufferInterface
doesn't hold the QImage any more, but creates a new one every time
::data is invoked. The QImage is created with a custom cleanup
function which calls to wl_shm_buffer_end_access. It ensures that
we don't call into wl_shm_buffer_begin_access as long as there is
a valid QImage for any other BufferInterface still around and
instead returns a null QImage.

Thus a user of a BufferInterface::data should destroy the returned
QImage as soon as it's no longer needed or create a deep copy if
it needs to be kept around.

Diffs: 1, 2, 3 Revision 9600aaa...
Martin Gräßlin committed changes in [kwayland] /:

Adding a test application supporting output to a QWidget

This test application "testRenderingServer" is able to start a
Wayland server and uses a QWidget to render the "scene". It manages
ShellSurfaces and renders them on the QWidget in a very static way.
Furthermore input events (key, pointer, wheel) are forwarded to the
top most Surface.

This test server is able to support kwin_wayland as a client, but
weston's test application in latest release fail due to missing
xdg_shell support.

Bug Fixes


Albert Astals Cid committed changes in [okular/Applications/14.12] generators/epub/converter.cpp:

Fix to allow having two audio links in the same epub

REVIEW: 120685

Gustav Gonzalez committed changes in [tupi] /components/timeline:

Time Line Component: Fixing frame selection issue

KDE Base

Dawit Alemayehu committed changes in [kdelibs/KDE/4.14] kio/kssl/kcm/cacertificatespage.cpp:

Use QSslCertificate's fromDevice instead fromPath to import certificates.

QSslCertificate::fromPath seems to have problem importing certs in DER format.

REVIEW: 121092

Arjun Ak committed changes in [kde-baseapps/Applications/14.12] dolphin/src/kitemviews/private/kfileitemmodelfilter.cpp:

Ensure input is a valid regexp before enabling regexp filter mode

Checking whether the input contains '*', '?' or '[' alone will
not do since there can be files with '[' in their name.

REVIEW: 120986

FIXED-IN: 14.12


Cristian Oneț committed changes in [kmymoney] /dialogs:

Fix the missing interest category for 'Buy' activities.

This fix is based on Allan's patch which is attached to the bug report
that I incorrectly thought to be fixed. I did some refactoring
because the readability of the investment activities was horrible. We
really should not have that kind of code in the application.

Jarosław Staniek committed changes in [calligra] /main:

Fix position of the Calligra logo based on height of the main menu




Martin Klapetek committed changes in [ktp-auth-handler/frameworks] x-telepathy-password-auth-operation.cpp:

Import the Tp account into KAccounts if it does not exist yet

This allows easy migration just by typing the password

Barth Netterfield committed changes in [kst-plot] /:

Vectors get iMax and iMin scalars

Now you can use the index of the max and min of a vector.

To create a label with the X value coresponding to YMax use,
for example:

[INDEX (V1)[[AZ:iMax (X26)]]]

Development Tools

Miquel Sabaté committed changes in [kdev-php] /:

Added the "finally" keyword.

REVIEW: 120620

Diffs: 1, 2, 3, 4, 5, 6 Revision 3081cb3...

KDE Base

Lukáš Tinkl committed changes in [kio] src/filewidgets/kdiroperator.cpp:

implement back/forward side mouse buttons to navigate in the history

Reviewed and tested by: Jan Grulich

Lukáš Tinkl committed changes in [frameworkintegration] /platformtheme:

implement standardButtonText()

helps us align with KStandardGuiItem and provides
the missing translations on buttons


Vishesh Handa committed changes in [jungle] /:

Implement FirstRun progress

Show a special screen for the first time jungle is run. Show a progress
bar for guess it queue. This way the users will at least see all their
shows categorized the first time they run Jungle.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 463ad05...

Networking Tools

Albert Vaca Cintora committed changes in [kdeconnect-android] /main:

Added settings to mousepad plugin to allow changing the default behaviour
for multi-tap input.

REVIEW: 120955

Diffs: 1, 2, 3, 4 Revision 1189f25...



Gustav Gonzalez committed changes in [tupi] /:

Optimizing "Hand" tool

Diffs: 1, 2, 3 Revision bd2687a...


Gerrit Test Instance Operator committed changes in [trojita] src/Imap/Model/ThreadingMsgListModel.cpp:

Speed up pruning of the threading tree

Previously, a lot of time was spent on looking up many items in an
internal hash table, and additional time was wasted by renumbering the
siblings all the time in case multiple removals took place at the same

While each EXPUNGE is still being processed on its own, the actual
removal of each of these items now happens much faster (roughly 30% on a
synthetic benchmark based upon the callgrind's instruction fetch

Change-Id: I4fa6e0a884859d0105fc535c70ca1d0fb3c57d5b


KDE Base

Albert Astals Cid committed changes in [kwebkitpart/1.3] src/webpage.cpp:

Sanitize html

As discussed by the security team



Martin Klapetek committed changes in [ktp-filetransfer-handler] /:

Finish the frameworks port

REVIEW: 121112

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 24e1d44...
Jeremy Paul Whiting committed changes in [kwordquiz/frameworks] /:

WIP: porting to kf5

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 39 more) Revision f15d5fe...
Martin Klapetek committed changes in [ktp-auth-handler] /:

MSN Messenger has died, RIP

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 5ad92cc...


Filipe Saraiva committed changes in [cantor/frameworks] /backends:

Lua backend ported to Qt5/KF5
DIGEST: Lua backend ported to Qt5/KF5

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 2 more) Revision a46afe8...
Filipe Saraiva committed changes in [cantor/frameworks] /backends:

KAlgebra/analitza backend ported to Qt5/KF5
DIGEST: KAlgebra/analitza backend ported to Qt5/KF5

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision 54a8c31...
Filipe Saraiva committed changes in [cantor/frameworks] /backends:

Qalculate bckend ported to Qt5/KF5
DIGEST: Qalculate backend ported to Qt5/KF5

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 66dd25a...
Filipe Saraiva committed changes in [cantor/frameworks] /:

Maxima backend ported to Qt5/KF5
DIGEST: Maxima backend ported to Qt5/KF5

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision 0223e1d...