Issue 287

12th May 2013 by KDE Commit-Digest Team


Marta Rybczynska
Michael Torres

This Week...

Digikam adds video properties search in Advanced Search tool. Okular better supports annotations in rotated pages. In KDE Workspace, sorting of tasks is possible by activity, the KDE Classic cursor theme becomes an image-based theme. Easier drag and drop of items in Dolphin Places. Network Management shows connection details. Skrooge adds a possibility to open report from dashboard widgets.


Commits 2441 by 142 developers
Open Bugs 21418
Open Wishes 15846
Bugs Opened 324 in the last 7 days
Bugs Closed 309 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Laurent Montel
Roman Paholík
Burkhard Lück
Daniel Nicoletti
Yuri Chornoivan
Aleix Pol Gonzalez
Xavier Besnard
Jan Grulich
Volker Krause
Sébastien Renard

Internationalization (i18n) Status

Language Percentage Complete
Ukrainian (uk)
Swedish (sv)
Brazilian Portuguese (pt_BR)
Spanish (es)
French (fr)
Dutch (nl)
Polish (pl)
Estonian (et)
German (de)
Italian (it)

Bug Killers

Person Bugs Closed
Emanuel Schütze
Jekyll Wu
Maarten De Meyer
Myriam Schweingruber
Chao Feng
Gilles Caulier
Christoph Feck
Frank Reininghaus
Andre Heinecke
Kevin Funk

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools





[] []    

KDE Base

[] [] []   


[] []    


[] [] []   




[]     []

Networking Tools

[] []    

User Interface








There are 53 selections this week

Bug Fixes

Development Tools

Aleix Pol Gonzalez committed changes in [kdevelop] /makebuilder:

Don't store a ProjectBaseItem in the MakeJob

Use a QPersistantModelIndex instead and fetch the item only when it's
needed. This way we can make sure that we don't crash if the item was
deleted during the job's life.

This is a bug fix, but I'm only committing to master for the moment.


Dennis Nienhüser committed changes in [marble] src/lib/MapThemeDownloadDialog.cpp:

Fix some space inconsistencies, force relayouting on resize.

REVIEW: 110226
Note: Review request consists of the following commits:
beb86d0 Fix some space inconsistencies, force relayouting on resize.
3046305 Restrict maximum size of shown text.
7daf920 Strip summary and author tags with excessive size.
3088eeb Equal button width. Show disabled update button for !upgradadable ones
5455fdb Migrate newstuff config file to MarbleDirs, use new internal dialog.
aef3e29 Finish display and actions.
36eb204 Publish download progress as model item property
600e127 Fix querying payload size (needs to follow redirects)
4fc11ba Finish display, actions, progress report.
e0df23b Replace browser action with an in-app installation dialog (in progress)
3f8cfe0 Download preview icon and use as decoration
8c60cbc Rename members to indicate they're URLs, not data

Luca Tringali committed changes in [kartesio] /:

All strings translatable.

Diffs: 1, 2, 3 Revision 2971ce7...
Yuri Chornoivan committed changes in [kstars] /:


Francesco Riosa committed changes in [libkdcraw] /:

ICC profiles should be padded to 4 bytes

In practice with libpng >= 1.6 the profile cannot be embedded if it has
the wrong size thus preventing digikam/showfoto to write png files at

see also

M +- -- profiles/srgb-d65.icm

KDE Base

Martin Gräßlin committed changes in [kde-workspace] /:

Remove "Block global shortcuts" global shortcut

This shortcut did not make any sense to me, because you could block the
global shortcuts for KWin, but not re-enable them again. So once blocked,
it was blocked for ever till kwin --replace &.

This is in opposite to the commit message which introduced it
(see ).

REVIEW: 110364

Raphael Kubo da Costa committed changes in [kdelibs] kjs/wtf/HashTable.h:

Merge branch 'KDE/4.10'

* KDE/4.10:
Pull in WebKit r83800 by Geoffrey Garen.
Don't show passwords contained in HTTP URLs in error messages

Anne-Marie Mahfouf committed changes in [kdelibs] plasma/private/dialogshadows.cpp:
David Faure committed changes in [kdelibs/frameworks] /:

KFileItem: port away from mode_t and time_t in the API.

Simplify constructors to avoid the very common
"Unknown [type], Unknown [permissions], url"

Provide both mode_t permissions() [for compat, and to support advanced permissions
like SUID/SGID in the properties dialog] and QFile::Permissions filePermissions()
so that apps can write portable code.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision b03e81a...
Chusslove Illich committed changes in [kate] /kate/pate/src/plugins:

i18n: must use KDE i18n's argument substitution.

Diffs: 1, 2, 3 Revision cca02e5...
Martin Gräßlin committed changes in [kde-workspace] kwin/scripting/scripting.cpp:

Reparse configuration before (un)loading scripts

When the scripting KCM triggered a loading of a script it did not work
because the scripting code was operating on an old data set.

Reparsing the configuration before evaluating which scripts to (un)load
solves this problem.

Cherry-picked from 4.10 branch: dd5b4bdec8e24359d4715c078e2f442967a3f873

Luca Beltrame committed changes in [kde-workspace] plasma/generic/wallpapers/image/backgroundlistmodel.cpp:

Plasma Wallpaper BackgroundListModel: Avoid using KFileMetaInfo

1. The Xesam width and height properties are never returned by strigi
and haven't been returned for a very very long time. It currently
returns the nfo:width and nfo:height property instead.

2. KFileMetadataWidget is blocking and blocks while it is calculating
the height and width. It is better to open the file and calculate it in
another thread as done by the ImageSizeFinder

3. QImage in more reliable and actively maintained in contrast to

REVIEW: 110467
(cherry picked from commit 8a6f783dfd6f021173f5d3b47772b0fc320eba31)


Laurent Montel committed changes in [kdepim/KDE/4.10] knode/knconfigwidgets.cpp:

Fix Bug 319394 - KNode does not validate server addresses at account creation

FIXED-IN: 4.10.4

Jan Kundrát committed changes in [trojita] /:

IMAP: parse 64bit MODSEQ and HIGHESTMODSEQ correctly

Thanks to Alberto Mardegan (mardy on IRC) for reporting. Shame on me for not
checking this properly from the beginning.

Diffs: 1, 2, 3 Revision 74a5924...
Daniel Nicoletti committed changes in [libnm-qt] /:

ABI: Vlan type is reported by NM as 11 and not 0x11

Dan Vratil committed changes in [libkgapi] /:

Don't skip item when restarting a job

When a recoverable error occured (invalid tokens), the job
skipped the item that has failed and tried to continued with
the next one after being restarted. With single-item
jobs this caused clients that expected exactly one item in reply
to crash.

With QueueHelper, the job will re-submit the failed item after
restart before cnotinuing with the next in queue.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 27 more) Revision 6605ba1...


Dmitry Kazakov committed changes in [calligra] /ui:

Fixed Marching Ants not to be scalable

This is quite simple, but long-awaited fix

Dmitry Kazakov committed changes in [calligra/calligra/2.7] krita/ui/kis_view2.cpp:

Fixed positioning of the image/layer Drag&Dropped to the Krita Canvas

Now the Drag&Drop of the image or a layer to the canvas works
in the following way:

1) [no modifiers pressed]

* Dropping Krita Layer (from Layer Box):
Positions to the original offset in the original image. If it doesn't
fit into new image, it drops to the center of the new image.

*Dropping an *image* (not URL) from Chromium or other application:
Drops to the center of the image.

2) [Shift modifier is pressed]
Both types of pastes are recentered near the center of the new image.

3) URL's are always dropped as usual to the top-left corner of the image.

Dmitry Kazakov committed changes in [calligra] /:

Fixed a midifiers bug

1) The tool should register the modifiers it is going to use
2) The gesture() should be optional for a tool

Siddharth Sharma committed changes in [calligra/krita-psd-plugin-siddharth] /ui:

Fix issues with width/height when creatign image from clipboard

Patch by Sahil Nagpal

Dmitry Kazakov committed changes in [calligra] /ui:

Fixed positioning of the image pasted to Krita using Clipboard

Now it works the following way:

1) When copy-pasting from Krita it tries to paste the clip to the original
position in the image.
2) When copy-pasting from other applications it pastes the clip to
the center of the image


Mark Kretschmann committed changes in [amarok] src/context/engines/wikipedia/WikipediaEngine.cpp:

Fix crashes on track change (both with Phonon-GStreamer and Phonon-VLC).

What happened:

The Wikipedia applet uses QtWebKit for HTML rendering. On
Linux, QtWebKit uses GStreamer for media playback. Turns out that this crashes
with a high probability whenever an <audio> tag is present on a web page. As
music artists' pages often contain audio snippets in Vorbis format, it crashed
a lot when Amarok's applet rendered a page.

The fix:

Removing all audio tags from Wikipedia pages before rendering them in our applet.
Of course, the real fix would have to be done upstream. But until that happens, our
workaround here fixes a shitload of crashes.

We might want to do a 2.7.1 release for Linux, with this patch.

Matěj Laitl committed changes in [amarok] /:

Fix Saved Playlists and Podcasts actions

After 2 failed attempts to solve this non-intrusively, I realized the
obvious: the actions belong to the view, not the model! (Qt has no
Model/View/Controller, it has Model/View+Controller)

After this it was "easy", just a fair bit of work to move relevant
actions to PlaylistBrowserModel and ensure they work correctly. Some
playlist (and podcast) actions weren't really appropriate for
PlaylistBrowserModel. Methods to get actions from these needed to be
changed, because the old way simply didn't allow reliable action

When I was at it, I cleaned up a fair bit of things in podcasts (and
playlist providers) - I haven't seen such code bloat in a while -
100-line-long unused function isn't anything surprising there. I'm
pointing at you, Bart. :-)

This regression exists since Ralf's cleanups, although Ralf certainly
didn't introduce it - he just broke the delicate equilibrium of hacks
that kept it working. (and I still think it was working just by chance)

This doesn't go into ChangeLog as it was introduced post-2.7. The code
is not perfect yet (we have lost "Create Empty Playlist" if you clink
into empty space), but the bug this fixes is much more critical.


Networking Tools

Jan Grulich committed changes in [plasma-nm] applet/declarative/contents/ui/SectionHeader.qml:

Fix change of the icon for section header


Patrick Spendrin committed changes in [kompare] komparepart/komparesaveoptionswidget.cpp:

fix endless loop

do not go into infinite loop in "save diff"


Ian Wadham committed changes in [kjumpingcube] ai_main.cpp:

Avoid crash at end of person-v-person game.



Gilles Caulier committed changes in [digikam] /:

apply patch #79649 from Yiou Wang to support Video properties search in Advanced Search tool.

FIXED-IN: 3.2.0

Albert Astals Cid committed changes in [okular] /:

Rotate annotation to match page when setting annotation's properties


KDE Base

Kevin Ottens committed changes in [kdelibs/frameworks] /:

Create the XmlGui framework

Put KGlobalAccel in to bootstrap it. This way KGlobalAccel leaves
KWindowSystem as discussed with Martin.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision e1d79ce...
Jörg Ehrichs committed changes in [nepomuk-webminer] /lib:

Allow each plugin to disable levenshtein distance check

If a plugin does not specify a distanceString that should be used
for the false positive search result check. No check is used and
all search results are valid ones.

Needed to cope with the tvdbmal plugin, that adds alias support and
transforms the user search strings into something else.

José Millán Soto committed changes in [kde-workspace] /:

Order tasks by activity

New ordering strategy ActivitySortingStrategy was created. This strategy will
order elements by the activities they are available on.

The items which are available in the activities with more tasks will be
displayed first.

REVIEW: 110453

Diffs: 1, 2, 3, 4, 5, 6 Revision ffbc90c...
Vishesh Handa committed changes in [kde-baseapps] /src/kitemviews:

Dolphin Places: Make it easier to drag and drop items

When doing a drop, a check is performed to see if it is within x pixels
from the top or x pixel from the bottom of the rect. If it is, then the
drop is considered a drop between items.

This x was fixed to qMax( 4, myStyleOption.padding ) which would
generally be 4. This is fine for some cases, but when the rectangle size
increases then this 4 pixels is not enough. Hence this 'x' is now being
set to 30% of the rectangle height.

By default the rectangle height is 20 pixels, so x is now 6 instead of 4
in the default case, which does make it slightly easier.

Also, this in-between-items check is only performed when moving from one
item to another. This is not good since if you enter the item and the
bottom, the indicator is shown, and then as to start moving it up it
stops showing, and then it should start showing again as you approach
the top edge.

Modified the code to run the check on every mouse drag event even if the
hovered item has not changed.

Both these changes combined make it much easier to drag and drop items.

REVIEW: 110342

Martin Gräßlin committed changes in [kde-workspace] /:

Use signal/slots instead of deep function calls into decoration

For all the decoration updates called from Client into the decoration we
also have a signal being emitted. So turning the pure virtual public
functions into slots means we can just connect our existing signals and
get rid off the deep function calls.

The keepAbove/Below signals are changed to take a boolean argument as
needed by KDecoration and a few emitted signals are moved to a better
fitting location.

REVIEW: 110335

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 9eaee28...
Hrvoje Senjan committed changes in [kde-workspace] ksmserver/screenlocker/greeter/themes/org.kde.passworddialog/contents/ui/main.qml:

Use smooth filtering for screenlocker background

REVIEW: 110350
(cherry picked from commit 27396ef70e92008af1e37335c42b680e8c3d59ca)

Martin Gräßlin committed changes in [kde-workspace] /:

New class to encapsulate a Window's Pixmap

The behavior for creating a pixmap for a window is moved from Toplevel
into a dedicated class WindowPixmap. Scene::Window holds a reference to
this class and creates a new WindowPixmap whenever the pixmap needs to be
discarded. In addition it also keeps the old WindowPixmap around for the
case that creating the new pixmap fails. The compositor can in that case
use the previous pixmap which reduces possible flickering. Also this
referencing can be used to improve transition effects like the maximize
windows effect which would benefit from starting with the old pixmap.

For XRender and OpenGL a dedicated sub-class of the WindowPixmap is
created which provides the additional mapping to an XRender picture and
OpenGL texture respectively.

FIXED-IN: 4.11
REVIEW: 110577

Aaron J. Seigo committed changes in [kdeplasma-addons] wallpapers/potd/potd.cpp:

tell the user where the POTD is coming from on the loading screen

Eike Hein committed changes in [kde-workspace] /:

Drop cursor font support and convert KDE Classic into an image-based theme.

The "KDE Classic" mouse cursor theme was implemented in code to source
cursor images either from bundled XPMs or by rasterizing glyphs from the
cursor font. This was used only when changing the cursor theme for
already-running applications at runtime; for newly-started apps (and so
including for new sessions) things relied on the special "#kde_legacy#"
theme name triggering an equivalent fallback in Qt and libXcursor, by
virtue of "#kde_legacy#" not actually existing.

This system-level fallback behavior is no longer evident on modern
systems, instead the distro-supplied default cursor theme gets loaded.
That meant the "KDE Classic" theme no longer actually worked for newly-
started applications (and so also not after relogin).

As the new fallback behavior makes sense, pursueing an upstream "fix"
is not economical. This patch instead takes the approach of deleting
the legacy code and reimplementing the "KDE Classic" theme as a modern
image-based cursor theme by dumping the results of the old rasteriza-
tion code into files.

This means losing support for theoretically-changable cursor fonts,
- It's doubtful any systems around today rely on custom cursor fonts.
- A mix of a custom cursor font and the XPMs bundled with the KCM
would be ugly anyway.
- This is all highly X-specific and likely of no use in future Wayland
systems anyway.


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 30 more) Revision 79f16db...


Laurent Montel committed changes in [kdepim] /:

Show preview when necessary

Diffs: 1, 2, 3 Revision 103a9f6...
Laurent Montel committed changes in [kdepim] /:

Now we can preview theme

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision d99ea2d...
Laurent Montel committed changes in [kdepim] /ksieveui:

Start to implement vacation action

Diffs: 1, 2, 3, 4, 5 Revision 75e89c1...
Jan Grulich committed changes in [plasma-nm] /declarative/contents:

Add the option for automatically hiding options

Diffs: 1, 2, 3 Revision 81e6443...


Stephane Mankowski committed changes in [skrooge] /:

feature: Open report from dashboard widgets

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 56d64c1...
Boudewijn Rempt committed changes in [calligra] /plugins/extensions/dockers:

Create a simple overview docker

FEATURE: a docker that shows the whole image as a thumbail (unless
the docker gets too small, then you only see part)

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision aa0e6bd...
Siddharth Sharma committed changes in [calligra/krita-psd-plugin-siddharth] /ui:

FEATURE: pseudo-infinite canvas

Now when you scroll the image far behind the border of the canvas,
you can see a subtle stripe appearing on the opposite edge of the
screen. If you click on that stripe, the image will be expanded to
up to the size of the canvas.

Diffs: 1, 2, 3, 4, 5 Revision b89ba77...

Networking Tools

Daniel Nicoletti committed changes in [plasma-nm] /:

Adding a tab to show information about a connection

Diffs: 1, 2, 3, 4 Revision 56e2e21...
David Edmundson committed changes in [ktp-common-internals/kde-telepathy-0.6] KTp/Declarative/messages-model.cpp:

Automatically acknowledge delivery reports of sent messages

This solves a bug in which the chat plasmoid could show an unread
message count when there are no unread messages

Alexander Reinholdt committed changes in /trunk/playground/network/smb4k:

Added security mode to the custom options.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 1352561
Daniel Nicoletti committed changes in [plasma-nm] /:

Some fixes to the model and make sure we always show VPN connections

Diffs: 1, 2, 3 Revision 155bebf...


Alexander Maret-Huskinson committed changes in [wacomtablet] debian/changelog:

Updated packaging files.

* Added ppa flag to debian version.
* Added locale support to spec file.
* Renamed spec file as it pretty much only works for SUSE right now.


KDE Base

Luca Beltrame committed changes in [kde-workspace] plasma/generic/wallpapers/image/image.cpp:

Plasma Wallpaper Image Plugin: Avoid unnecessary renders of the wallpaper

When the selection in changed in the view, that calls Image::pictureChanged
which then calls setSingleImage which sends the image for rendering.
Once the image has been rendered, updateBackground is called which
starts the fading animation. This is completely unnessary.
(cherry picked from commit 3ae865333c40b9fb4de09d2c0a6cf00ec50a0382)


Dmitry Kazakov committed changes in [calligra] /ui/tool:

Fixed high CPU load when changing brush size with Shift-gesture

Now it can update not more often than 25 times per second
According to the measurements it allows us make about 80% less

I don't close the bug because of the second part (scaling). Need to
discuss it with Timothee and David.



Sven Krohlas committed changes in [amarok] /scripts:

RIP Darkerradio :-(

## R.I.P. ##
# Darkerradio #
# *2003-05-01 #
# †2013-05-01 #

After exactly ten years of service Darkerradio is no more. Removing all
references to it:

* Free Music Charts voting
* Cool Streams entry


Matěj Laitl committed changes in [amarok] /:

Refactor TrackLoader

The changes in code are big, but changes in functionality are little.
New code is more careful when sorting, ensures that tracks are fully
loaded when the users needs it and replaces any blocking behaviour
with asinc code (still with strong guarantees).

Also the test is greatly improved to test nearly all the functionality.

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