Issue 270

13th January 2013 by KDE Commit-Digest Team


Marta Rybczynska
Aleix Pol
Martin Cigorraga
Jürgen Appel

This Week...

KWin adds "visible" property on EffectWindow needed by various effects and improves resolving whether a window is on local machine. In KDE-PIM, Facebook resource is now installed by default. Calligra gets a new tool to automatically fix trivial errors in source files. Amarok resurrects Audio CD playback, at least with phonon-gstreamer. Juk supports reading/writing Ogg Opus tags. Rekonq migrates to Nepomuk2. Kipi sees work on the infrastructure to upload to galleries in Imageshack.


Commits 2923 by 188 developers
Open Bugs 21033
Open Wishes 15770
Bugs Opened 369 in the last 7 days
Bugs Closed 530 in the last 7 days

Commit Summary

Module Commits
Files Developer Commits
Roman Paholík
Laurent Montel
Ingo Malchow
Milian Wolff
Chetan Khona
Jan Kundrát
Christophe Giboudeaux
Burkhard Lück
Ben Cooksley
Patrick von Reth

Internationalization (i18n) Status

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

Bug Killers

Person Bugs Closed
Daniel Nicoletti
Myriam Schweingruber
Jekyll Wu
Christoph Feck
Vishesh Handa
Martin Gräßlin
Gilles Caulier
Tom Albers
Milian Wolff
Ben Cooksley

Commit Countries

Commit Demographics




  Bug Fixes Features Optimization Security Other



Development Tools

[] [] []   []


[] []    []


[] []    

KDE Base

[] [] [] [] []


[] [] []   []


[] [] []   []




[] [] []   

Networking Tools

[] []   []  

User Interface



[] []    




  []    []

There are 113 selections this week

Bug Fixes

Development Tools

Milian Wolff committed changes in [kdevplatform/itemrepository] /:

Fix, refactor and cleanup the session locking mechanism.

This is especially needed to break the cyclic dependency between
language and shell which was introduced by the requirement to
call SessionController::tryLockSession from the ItemRepositoryRegistry.

This commit introduces a RAII ISessionLock that is implemented by
shell/sessionlock.{cpp,h}. This lock is passed around as a shared
pointer. All potentially dangerous code paths now take such a
ISessionLock::Ptr argument to verify that the session is properly

Such a little change, yet it had quite an aftermath... The fix made
it neccessary to refactor lots of other code paths, especially the
crude SessionController::LockSessionState is gone and replaced by
three new classes:

SessionRunInfo, which holds the information about whether a session
is running and if so, what the app's PID and name is.

ISessionLock::Ptr which ensures that a session is actually locked.

TryLockSessionResult (bad name, suggestions?) which holds both,
a SessionRunInfo and a ISessionLock::Ptr. If the latter is non-null
it means that the session was locked. Otherwise the SessionRunInfo
can be queried for why this was not the case.

In addition to that we now also have some more readable API in the
SessionController, most notably isSessionRunning and sessionRunInfo.

Oh and did I mention that I introduced some more unit tests? Yay!

Note that I also removed quite some dead code, most notably in what
was formerly SessionController::handleSessionLocked. The information
about stale lock files and such should never be shown as only the
DBUSLock is actually relevant. The KLockFile is only used to find
the PID + app name of whoever is responsible for locking a given
session ID.

Futhermore I have to say that we should decide on whether to use
QUUid or QString in our API as the type for our Session IDs...
Right now we use a mixture of both but actually rely on QUUid in

Finally I also moved the stupid SessionDialog into its own files
but that should be completed and further cleaned up...

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision e7d1459...
Milian Wolff committed changes in [kdevelop] /cpp/parser:

Properly parse C++11 reference bindings.

These are ignored in the semantic analysis for now but at least this
way code completion does not break and no annoying errors are shown.

Luca Beltrame committed changes in [pykde4/KDE/4.10] kpythonpluginfactory/CMakeLists.txt:

Fix unresolved symbols appearing in PyKDE4.

Apparently the CMake policy responsible for this is getting set back
somewhere in the build system.

Reporter, please close the bug if the issue is no longer applicable. I
can't reproduce it.

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

plasmoidviewer: respect --containment flag in sizing and scenerect

The normal behavior of plasmoidviewer, which resizes the applet to the
window, is not very useful for testing containments, at it sets the
scenerect and resizes the widget where it is really the containment's
job to take care of the layout.

So, when the --containment flag is set, and a plugin is found:
- do not change the scenerect anymore
- do not resize the widget
- do not wire up applet resize events to our view's scenerect
- set window title to $Applet: $Containment
- change icon to containment's icon

This set of changes makes plasmoidviewer really useful, where it
previously would often flick out of the view and show all kinds of
applet placement madness when used with the --containment flag.


Diffs: 1, 2, 3 Revision 53ade97...


Thibaut Gridel committed changes in [marble] src/lib/MarbleRunnerManager.cpp:

MarbleRunnerManager: create all runner tasks before launching them

This should avoid hang in case a runner finishes and its address is
reused before the GUI thread has a chance to call the cleanup code.

Andreas Cord-Landwehr committed changes in [rocs/KDE/4.10] RocsCore/DataStructures/Graph/EdgeItem.cpp:

Fix graphics artifacts when loading graph.

Position of edge values was not updated correctly after creation of
connection curves.


Benjamin Girault committed changes in [kipi-plugins] /ptoparser:

Panorama: Various bugfixes for Windows build

Many thanks to Ananta Palani for his help to debug the Windows build

Diffs: 1, 2, 3, 4 Revision 66bc31d...
Benni Hill committed changes in [gwenview/KDE/4.10] lib/documentview/documentviewcontainer.cpp:

Check if QGLWidget has been initialised successfully before using it.

REVIEW: 108219

KDE Base

Xuetian Weng committed changes in [kde-workspace/KDE/4.10] /generic/applets/batterymonitor/contents:

various fix for battery plasmoid

Fix access undefined value warning, when calling function in
logic.js, can still be null since it might not connect at
that time.
When brightness is passively changed from outer environment, don't
trigger the dataSource service call with a bool protector called
Move more code to DataModel.onDataChanged, under the same idea with: , hence the plasmoid.status
will always be the correct value, the changing of plasmoid.status cause
tray make popup unfocus.
Remove ugly hack of resetBatteryData in logic.js.
Fix some anchor related warning in PopupDialog.qml

FIXED-IN: 4.10

REVIEW: 108355

Oliver Henshaw committed changes in [kde-workspace/KDE/4.10] ksmserver/screenlocker/ksldapp.cpp:

Respect Lock boolean in configuration

If not set to require password, don't start the grace period timer and
always consider in grace period.

REVIEW: 108425

FIXED-IN: 4.10.1

Sebastian Kügler committed changes in [kde-workspace] plasma/generic/runners/bookmarks/browsers/firefox.cpp:

Fix crash on startup with empty firefox profile

This crash happened when the default browser is set to Firefox, and the
profile is empty. The sqlite db is checked against in match, but never
initialized to zero.

Thanks to einar and tittiatcoke for the detective work. :-)

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.10] dolphin/src/kitemviews/kstandarditemlistwidget.cpp:

Slightly reduce the tinting for selected icons and previews

The intention of the tinting was to make it more obvious in icons view
which icons are selected. However, some icons and previews look quite
ugly with the current tinting value of 1.0 (i.e., the value passed to
KIconEffect::colorize). A slight reduction of this value to 0.8 makes
this a little less ugly. However, the real fix is to remove the tinting
altogether and find something better to indicate which items are

David Faure committed changes in [kdelibs/KDE/4.10] /:

Rework fix for bug 279675 so that the new mimetype is used by KRun too.

When the mimetype has to be refined from the url-filename or suggested-filename,
it's not enough to show the user, we have to also pass it on to the application
and to KRun. Otherwise clicking "open with KWrite" can end up not doing anything,
due to the service->hasMimeType() check in KRun. It also didn't benefit from
the turning of shellscript into text/plain in BrowserRun::handleNonEmbeddable
since the mimetype fixup was done afterwards.

REVIEW: 108277

Thomas Lübking committed changes in [kde-workspace/KDE/4.10] kwin/client.cpp:

don't use input windows on Qt < 4.8.3

According to aacid, it's been broken in every Qt version before

REVIEW: 108249

Xuetian Weng committed changes in [kde-workspace/KDE/4.10] /generic/applets/batterymonitor/contents:

fix random battery cumulative data error update upon resume

In some case, slot connect to dataChanged signal might see wrong data in
data model, so this patch update Cumulative data by using dataChanged signal
of DataModel, this would fix random "fake unavailable" battery upon resume
and reduce useless call to updateCumulative.

REVIEW: 108280
FIXED-IN: 4.10

Vishesh Handa committed changes in [nepomuk-core/KDE/4.10] /storage:

ResourceWatcherManager: Improve thread safety

The ResourceWatcherManager is accessed by multiple threads at the same
time, and its internal structures can be changed by some of those

Use a mutex to protect most of its member functions.

Dan Vratil committed changes in [kscreen] /:

Be more careful about null pointers

Check for null pointers before dereferencing (mostly in KDED).

Aaron J. Seigo committed changes in [kde-workspace] /screenlocker/greeter/themes/org.kde.passworddialog/contents/ui:

hack in keyboard accel for buttons

horribly ugly in implementation, but until QML gets proper key accel handling
this is probably what we stuck with for now

Vishesh Handa committed changes in [nepomuk-widgets/KDE/4.10] /:

MetadataFilter: Do not show editable data for contacts and albums

Though it does make sense for the user to be able to tag/rate contacts
and albums, dolphin is not the place to do it from. Specially since
contacts and albums are not displayed by the nepomuk kioslaves.

That would result in the user tagging the contact/album and it then not
appearing in the tag results.

Dominik Haumann committed changes in [kate] /tests:

add unit test for crash in code folding (bug311866)

todo: make sure the cursor position is valid (in visible text area)
if the code folding changes. This fix should not be done in
KateViewInternal::regionVisibilityChanged() as then we run into selection
bugs like e.g.

bug tracker:

Aurélien Gâteau committed changes in [kdelibs/KDE/4.10] khtml/imload/scaledimageplane.cpp:

Fix wrong version for last line of Tile

Code in scaledLoop32bit() has an off-by-one error in computation of the
versions index, causing some images to contain garbage on their last
line. This is visible in Konqueror and Akregator intro pages.

REVIEW: 108246

Sebastian Kügler committed changes in [kde-workspace/plasma/sebas/desktop-qml] /desktop/containments/desktop-qml:

Applethandle fixes

- Resize MouseArea moves to top-right
- fix up resizing function for this
- fix layering of action buttons and drag area
- pressing and releasing applet handle's buttons shifts them 1px in both

We still need to reserve a bit of space for the applet handle, but we're
getting there. Also minimumSizehints need to be checked.

This makes it kind of work, though.

Diffs: 1, 2, 3 Revision 08e725b...
Martin Gräßlin committed changes in [kde-workspace] /effects/screenshot:

Use window size for offscreen texture size in screenshot effect

Effect used the display size which caused windows being larger than
either width or height not to be captured correctly.

Now it uses the window size for the offscreen texture which also requires
to adjust the modelviewprojection matrix.

As an unrelated change the pointer to GLRenderTarget and GLTexture are
changed to a QScopedPointer and some variables which got moved around
are consted.

FIXED-IN: 4.11
REVIEW: 108258

David Faure committed changes in [kdelibs/KDE/4.10] /:

Fix adjustPath(AddTrailingSlash) to preserve empty paths

As per the documentation.

FIXED-IN: 4.10
REVIEW: 108215

Kai Uwe Broulik committed changes in [kde-baseapps/KDE/4.10] dolphin/src/panels/information/informationpanelcontent.cpp:

Fix information panel interpreting html tags
Only fixes the most obvious file name, the other entries in the table
probably have to be fixed in the FileMetaDataWidget.
REVIEW: 108307

(cherry picked from commit 3d7d900d2830c71255ff8c02f5f7439224cd4122)

Vishesh Handa committed changes in [kde-runtime/KDE/4.10] /kioslaves/search:

NepomukSearch: Always stat the file before listing it

This removes the optimization that we use the pre-fetch the stat results
from the database. This optimization is being removed because we may
have old entries in the search results for files that no longer exist.
The filewatch doesn't always work, also removable media handling doesn't
always save it under filex.

( With 4.10 we have removed the filewatch - InvalidFileResourceCleaner )

We do not want to show file results that do not exist.

Also always fetch the nie:url instead of it being optional

Emmanuel Pescosta committed changes in [kde-baseapps] /:

Fix Bug 233335 - Wrong icons selected after pasting files and renaming them (because there exists items with it's names

Fixed the "same" buggy behavior when dropping files/folders

Select also putted files (PUT operation - SimpleJob) - e.g. Paste content from clipboard

REVIEW: 107351

Jörg Ehrichs committed changes in [nepomuk-core] services/fileindexer/indexer/popplerextractor.cpp:

Fix fileindexer crashing for broken pdf files

Some broken pdf files can't be handled by libpoppler.
Due to a missing pointer check the plugin crashes. Now no title is
extarcted from the first page, but everything else works without crash.

Bug 639080:
15711 days
Diffs: 1 Revision 840cecc...


Laurent Montel committed changes in [kdepim/KDE/4.10] kmail/kmmainwidget.cpp:

Fix Bug 311688 - The "Export KMail Data" action uses icon "backup-mail",

which is unavailable

We don't have icons for it. So Use kmail for 4.10
We will ask for new icon

FIXED-IN: 4.10

Frank Osterfeld committed changes in [kdepim-runtime/akregator_port] /krsslocal:

Write OPML synchronously

Otherwise we cannot guarantee consistency and races might occur,
so let's remove this complexity of delayed write back,
which might not even be needed.


Inge Wallin committed changes in [calligra/text-annotations-ingwa] krita/plugins/tools/defaulttools/

Correctly initialize the smoothness options

Sven Langkamp committed changes in [calligra] /:

Turn off table and other text features in Krita

Dmitry Kazakov committed changes in [calligra] /:

Fixed several bugs of transforming Shape/Paint layers

This patch fixes several problems:
1) Fixes the updates of the clone layer, when changing
its source's mask
2) Fixes updates for undo of a transformation of a layer
having both clone and a mask
3) Fixes Mirroring of a paint layer with odd size
4) Fixes Undo for transformations on Shape Layers
5) Adds a Unit Test for all this.


Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 5 more) Revision 98f3d8f...
Dmitry Kazakov committed changes in [calligra] /:

Fixed Perspective Transform Worker to work properly

1) The class is cleaned up (use QTransform instead of explicit matrix computation)
2) The usage of split rects make the transformation very-very-very fast

C. Boemann committed changes in [calligra/calligra/2.6] /:

Shape moving restrictions based on anchor properties.

This is the page anchors equivalent of the char and paragraph anchors code we
already have.

This makes a difference both on initial layout (nice improvements)
and on interactive moving of page anchored shapes.

This commit also fixes the default anchoring properties to be the same as in LO.

This commit also fixes it so the page anchored iages doesn't leave empty rects on
page 1 after reload

REVIEW: 108358

C. Boemann committed changes in [calligra/calligra/2.4] /:

Fix an issue where a reference to a deleted row (or column) was not detected properly.

Also adds a test-case for the other problem reported in this bug, but I can't reproduce the bug in that situation.

Robby Stephenson committed changes in [tellico/2.3] /:

Remove old xmlGUI code that's no longer needed.

Recent changes in kdelibs (bug 306258) seem to have caused a
situation where user changes to the toolbar resulted in an unmerged

Patch provided by Albert Astals Cid and resolves the issue.

Diffs: 1, 2, 3 Revision 6e5e8f6...
Inge Wallin committed changes in [calligra/text-annotations-ingwa] plugins/textshape/dialogs/SimpleParagraphWidget.cpp:

According Gopalakrishna this commit is needed to fix the inability to remove blocks from list.

Inge Wallin committed changes in [calligra/text-annotations-ingwa] libs/kotext/commands/DeleteCommand.cpp:

Fix wrong style applied on backspace

When using backspace, we keep the char format of the deleted char.
This should not apply when deleting across the newline boundary.

Inge Wallin committed changes in [calligra/text-annotations-ingwa] /:

Fix problem that prevents depths of cells to be calculated properly when cells are edited.

This was especially a problem if they are changed from a formula to something that is not a formula.
Also fixes a problem with DependencyManager::Private::dump(), and fixes KoRTree API docs to match
the implementation (although it would be better to fix the implementation to match the docs).

Inge Wallin committed changes in [calligra/text-annotations-ingwa] /:

Use new app icon names in Flow, Sheets, Stage, Words

Icon filenames were changed in 2c94313b0891571a071dc5729eb0b0d3644c00fb ,
but that commit missed to also adapt the places where the icons are referenced

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


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

DirectoryLoader, FileView: fix broken Copy/Move to collection

I accidentally broke this in commit 7f1f9f606ad1af5b3d1.

This doesn't go into ChangeLog, because the bug was introduced after
2.7 Beta was released. Thierry, please test that this commit fixes
your problem.


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

AudioCdCollection: set composer of all tracks

...most Amarok code assumes it is non-null. As CDDB doesn't provide the
information, we set empty composer, which is "Unknown Composer" for
display purposes.

* Audio CD: fix crash due to no composer being set.


Edward Hades Toroshchin committed changes in [amarok] src/browsers/playlistbrowser/PlaylistBrowserCategory.cpp:

Fix duplicate-name bug in creating playlist folders

Previously, the code sorted numbers as string when determining the
current largest number of duplicate folders. The code now uses
std::max_element on a list of integers to circumvent that problem

REVIEW: 108245

Michael Pyne committed changes in [juk] tageditor.ui:

tageditor: Mark bitrate and length as read-only.

Seems to look OK with Oxygen and even Qt's "Cleanlooks" themes.

Gilles Caulier committed changes in [digikam] /dimg/filters/lens:

Apply patch #76256 from Roman I Khimov to use crop factor from camera, not from lens data.
Lens crop factor in DB only tells us which crop factor was used for lens
calibration data, but it has nothing to do with shots made on random user's
camera. So the default behaviour should be to use camera's crop factor and only
fallback to lens data if there in no data present for camera. As "this should
not happen" it's appropriate to spit out some debug message in this case.


FIXED-IN: 3.0.0

Ralf Engels committed changes in [amarok] /:

Fix amarok starts at beginning of playlist if you previously stopped during a track


Gilles Caulier committed changes in [digikam] libs/dimg/filters/lens/lensfuncameraselector.cpp:

Apply patch #76254 from Roman I Khimov about lensfun interface which don't mangle cropFactor if it's set.
This behaviour was introduced by polish commit bebef401e147a00f859cb81774f8498a0623eee5.
With this branch present we always get cropFactor of
-1.0 in LensFunFilter::filterImage() and given that lensfun library just uses
crop factor of 1 which leads to obviously wrong calculations for cropped

FIXED-IN: 3.0.0

Gilles Caulier committed changes in [digikam] libs/dimg/filters/lens/lensfunfilter.cpp:

Apply patch #76255 from Roman I Khimov to don't pass crop factor as scale factor to lensfun.

Sixth parameter to Initialize() is actually a scale factor which has nothing
in common with crop factor. I think it's safe to assume that we want no
scaling from lensfun and thus use the value of one.


FIXED-IN: 3.0.0

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

PrettyItemDelegate: fix visual overflow of the queued track indicator

This is a slightly tweaked version (visually and behaviourally) of
Riccardo Ferrazzo's patch, thanks for it!

* Fix queued track indicator overflow, patch by Riccardo Ferrazzo.

REVIEW: 107796

Networking Tools

Emmanuel Lepage Vallee committed changes in [sflphone-kde] src/conf/dlgaccounts.cpp:

[ #18497 ] Fix ringtone dialog

Emmanuel Lepage Vallee committed changes in [sflphone-kde] /:

[ #19014 ] Fix mute button

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 5d25da6...
Lamarque Souza committed changes in [networkmanagement] applet/qml/HiddenWirelessNetwork.qml:

Fix error when loading the QML plasmoid in Plasma Active. Thanks to Marco
Martin for this fix.

Pali Rohár committed changes in /trunk/KDE/kdenetwork/kopete/libkopete/private/kopeteviewmanager.cpp:

Fix showing notification in busy and away status

Based on Murphy patch, thanks!

Dan Vratil committed changes in [ktp-kded-module] /:

Use better way of setting NowPLayingListWidget size

The combination of setFlow() and the old way the size of the
widget was calculated caused Qt layout system to end up in
endless recursion (and subsequent crash).

Reviewed-By: David Edmundson

Emmanuel Lepage Vallee committed changes in [sflphone-kde] src/accountwizard.cpp:

[ #19055 ] Improve wizard message to relfect the potential GUI freeze

Dennis Nienhüser committed changes in [marble] /:

Check that resources are not being monitored already.

If a file or path is monitored already by QFileSystemWatcher, it warns
about that using a qWarning.


Daniel Nicoletti committed changes in [apper] /:

Add a HACK to work around Plasma not setting the active focus when the plasmoid is shown

Friedrich Karl Tilman Pülz committed changes in [publictransport] /:

Fix route times, store as QDateTime, auto remove city names

Use a list of QDateTime values instead of QTime for RouteTimes.
This fixes wrong route times and works with route times at
different dates.

Add possibility to store user data for network requests in
scripts. The user data gets send to the slot connected to the
finished() signal. It gets used by the HAFAS base script to let
the parser know whether arrivals or departures have been

Fix "origin" strings for HAFAS arrivals,
they were actually targets.

Enable AutoRemoveCityNames feature for HAFAS providers, in case
no short stop names were available. Rename "enum" script object
to "enums", "enum" may cause problems (keyword).

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision cb7dd4e...
Harald Sitter committed changes in [phonon-vlc/0.6] src/utils/libvlc.cpp:

fix config loading

vlc by default for some reason refuses to load configuration options, so
tell it not to ignore the configuration when we are using our own vlc.conf.

Thanks to Ivan Chernyavsky for pointing this out.


Albert Astals Cid committed changes in [kreversi/KDE/4.10] mainwindow.cpp:

Make scores appear in the correct difficulty level

FIXED-IN: 4.10


Development Tools

Milian Wolff committed changes in [kdevelop] languages/cpp/tests/cpp-parser.cpp:

Show actual AST size in the debug utility cpp-parser.

This is done by walking the tree and summing the size of the
encountered nodes.

The output is insofar interesting as it shows the discrepancy between
allocated memory and required memory of about 100% - i.e. we need
twice as much memory as the AST is actually needing. This is mostly
due to backtracking in the parser: When we encounter an invalid node
somewhere we might bubble up the parse chain and continue down a
different path. Any allocations in the memory pool are 'lost' this
way and not reclaimed until the whole pool is discarded.

We might want to think about reclaiming such nodes somehow. So far,
I did not come up with an easy, fast API to achieve this result

Aaron J. Seigo committed changes in [plasmate] /savesystem:

make the commit dialog use a layout rather than hand position things

also general code improvement:

* don't expose members of CommitDialog as public but enapsulate access to the text
* don't use smart pointers where they are never used as such

this was evidently so critically important that it was blocking movement of the
entire plasmate repo out of kdereview. to celebrate that, i wrote this patch whilst
sitting on the toilet. seemed appropriate somehow.

Diffs: 1, 2, 3 Revision 670f8de...


Dennis Nienhüser committed changes in [marble] /lib/geodata:

Add kml list style and ballon style writers.

REVIEW: 108211

Diffs: 1, 2, 3, 4, 5, 6 Revision a2b7567...
Mathias Kraus committed changes in [abakus] /:

mathematical sidebar improvements

- remove the possibility to show/hide numerals and functions separate
instead only the mathematical sidebar can be shown/hidden
- added animation for show/hide sidebar

Diffs: 1, 2, 3, 4, 5 Revision dd48815...
Mathias Kraus committed changes in [abakus] /:

button to toggle compact mode and dummy buttons for settings and help

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


Victor Dodon committed changes in [kipi-plugins] /:

Implement infrastructure to upload to galleries in Imageshack

Due to some issues with the api, currently, the uploads to galleries
are disabled.
Improved the ui and solved some minor bugs.
Fetch the list of user galleries.
Remove videos from the KPImagesList, even video uploads are supported.

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

KDE Base

Alex Fiestas committed changes in [libkscreen] /xrandr:

Added a method to XRandRScreen which returns the current size

I'm not sure this is the right way to put it in the new backend, but it
very seems like it.

Please dan, move the method elsewhere if needed.

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

Add walk through desktops shortcuts to Virtual Desktops KCM

FIXED-IN: 4.11
REVIEW: 108287

Dan Vratil committed changes in [kscreen] /:

Use PlasmaComponents.Dialog for ModeSelectionWidget

PlasmaCore.Dialog was eating mouse clicks for some reason, but
wrapping the ModeSelectionWidget to PlasmaComponents.Dialog works.
And it looks better.

David Edmundson committed changes in [lightdm] /:
Aaron J. Seigo committed changes in [kdelibs/frameworks] /kwindowsystem/src:

shadow override is both kwin specific and a no-op now

kwin changed .. 'nuff said. :) we're doing shadows a bit differently now
with kwin and it doesn't require windowsystem API for it. i do think that
it would make sense to (eventually) provide API for doing shadows in the
New(tm) way.

Cedric Bellegarde committed changes in [kde-workspace] kwin/clients/laptop/laptopclient.cpp:

Add appmenu support to laptop kdecoration client

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

Port screenlocker greeter app away from Kephal

REVIEW: 108318

Alex Fiestas committed changes in [libkscreen] backends/xrandr/xrandrconfig.cpp:

Disable only needed CRTC, read below for more information

Since the begining we have been doing it wrong to get kscreen working
ASAP, we were disabling all outputs that were being updated, which at the
long run created more problems than it solved.

This commit reverts the hacks needed to make the hack work (LOL) and
makes the code work as follow:

-Disable all outputs that need disabling (not used)
-Update all outputs that need update (mode/rotation/pos changed)
-Disable all outputs that previous RECT doesn't fit the new screen one
for example if a output was extended to the right and now is not, the
X will be at XXXX while the new screenSize is YYY
-Enable all outputs that need to be enabled (they were not used before)

Jekyll Wu committed changes in [kde-workspace] /gui:

Add rowspan/colspan support for sensor displays in ksysguard

REVIEW: 107970
FIXED-IN: 4.11.0

Xuetian Weng committed changes in [kde-workspace/KDE/4.10] /daemon:

use Plasma::Dialog for brightness osd

REVIEW: 108222

Martin Gräßlin committed changes in [kde-workspace/KDE/4.10] /effects/thumbnailaside:

Track painted areas in Thumbnail Aside effect

Following the approach of ShowPaint effect by tracking the actual painted
regions per window to determine whether the painted area intersects with
one of the thumbnails.

FIXED-IN: 4.10
REVIEW: 108289

Martin Gräßlin committed changes in [kde-workspace/KDE/4.10] kwin/workspace.cpp:

Gather support information about screens

Adds a section about screens to supportInformation containing:
* whether multi-head is used
* in case of multi-head the screen number
* the number of screens
* geometry per screen

That should hopefully end the two often asked questions about the user's
screen setup, especially if they say they use multi-head.

REVIEW: 108363

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

Introduce property "visible" on EffectWindow

This property can be used to check whether a window is currently visible
to the user, that is:
* not minimized
* on the current desktop
* on current activity

This is a common need for various effects.

REVIEW: 108341

Diffs: 1, 2, 3 Revision 7dfc8c1...


Roman Jarosz committed changes in /trunk/playground/pim/akonadi/exchangews:

New akonadi plugin for exchange calendar (EWS)

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 26 more) Revision 1331815
Martin Klapetek committed changes in [kdepim-runtime] /:

Merge Facebook resource

This is the resource part of kde:akonadi-facebook with some
improvements and fixes. Building this resource is conditioned
by presence of LibKFbAPI library, found in extragear/libs.

This means that Facebook resource is now installed by default.

REVIEW: 107021

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


Inge Wallin committed changes in [calligra/text-annotations-ingwa] /:

Implement actions to mirror all layers in an image.

Diffs: 1, 2, 3, 4 Revision 548fc48...
Inge Wallin committed changes in [calligra/text-annotations-ingwa] tools/fixsrc/

New script: that fixes trivial errors in the sources

The script is supposed ot target errors pointed out by the Krazy
source checker at It is potentially
useful in all of KDE and not just in Calligra.

This first version does:
- add newlines to files that don't end in it.

FEATURE: Tool to automatically fix trivial errors in source files
DIGEST: New tool to automatically fix trivial errors in source files

Friedrich W. H. Kossebau committed changes in [calligra] /:

Flow, Karbon, Stage and Sheets: use the currently set size units in the pagelayout dialog

Don't let Words be the only one to do it :)

REVIEW: 108221

thanks inge for review


Michael Pyne committed changes in [juk] /:

Support reading/writing Ogg Opus tags.

I say Ogg Opus since it will later be possible to store Opus audio
within a Matroska container, instead we support Opus in an Ogg container
(which is what is recommended/assumed by the reference tools and the

This does not add playback support if the underlying Phonon backend
doesn't support Opus.

I've tested by adjusting metadata fields of various Opus files I've

The Taglib feature that supports this has not been released yet as far
as I can tell from git, so we simply check to see whether the header we
need was installed.

Diffs: 1, 2, 3 Revision 3aa8c7b...
Matěj Laitl committed changes in [amarok] /:

EngineController: various Audio CD playback fixes

* Various improvements that should result in more stable Audio CD

Many things originally pointed out by Harald, our lord-president.

DIGEST: Amarok resurrects Audio CD playback, at least with phonon-gstreamer

Networking Tools

David Narváez committed changes in [rekonq] /:

Rekonq Migration to Nepomuk2

Ran the Nepomuk migration script and added a directory with code that
has not yet been ported to Nepomuk2. Also did some CMake changes to be
able to drop the config-nepomuk.h.cmake file.

REVIEW: 108152

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 6d2519d...
Ralf Jung committed changes in [networkmanagement/nm09] /:

Add option to configure IPv6 Privacy Extension

REVIEW: 108064

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc/vnc:

add support for ARD (Apple Remote Desktop) authentication

- it does not fail silently while authenticate (blue background forever))
- minor fixes for VNC plugin qt-only version


Daniel Nicoletti committed changes in [print-manager/KDE/4.10] /:

Enable "Show printers shared by other systems" when on CUPS 1.6, it does support it

Daniel Nicoletti committed changes in [apper] /:

Adds a Help menu to Apper


Jakob Gruber committed changes in [picmi] src/logic/picmi.h:
Jörg Ehrichs committed changes in [wacomtablet] data/wacom_devicelist:

Add support for Wacom Intuos5 M Pen pad


Development Tools

Milian Wolff committed changes in [kdevelop] /cpp/parser:

Introduce a thread local memory pool cache and refactor the code.

This optimizes the speed of our allocator, especially for the case
of multiple repeated constructions of memory pools as is being
done in the ExpressionParser. Funnily enough, I also managed to
increase the performance of the 'normal' operation for a single pool
with many allocations as is done in the full file parsing.

The way it works is that we keep a list of free, allocated blocks
around per thread. Right now, we keep up to 32 blocks of 64K around,
i.e. up to a total of 2MB per thread. This memory is only reclaimed
once the thread finishes. In KDevelop's case this means: never until
the app is closed. Still, I think up to 2MB per thread is not a big
deal and we could potentially decrease this.

Furthermore we should try to share these memory blocks between the
different language plugins. Right now most other lang plugins use
KDevelop-PG-Qt's allocator. I'll investigate how to change that.

New numbers are:

RESULT : TestPool::benchManyPools():
0.0043 msecs per iteration (total: 71, iterations: 16384)
(approx 9x as fast as before)

RESULT : TestPool::benchManyAllocations():
0.000038 msecs per iteration (total: 80, iterations: 2097152)
(approx 1.8x as fast as before)

For the expression parser benchmark the numbers are now:
RESULT : TestExpressionParser::benchEvaluateType():"global-int-number":
- 0.055 msecs per iteration (total: 57, iterations: 1024)
+ 0.017 msecs per iteration (total: 70, iterations: 4096)
RESULT : TestExpressionParser::benchEvaluateType():"global-long-number":
- 0.056 msecs per iteration (total: 58, iterations: 1024)
+ 0.018 msecs per iteration (total: 74, iterations: 4096)
RESULT : TestExpressionParser::benchEvaluateType():"global-long-long-number":
- 0.057 msecs per iteration (total: 59, iterations: 1024)
+ 0.019 msecs per iteration (total: 78, iterations: 4096)
RESULT : TestExpressionParser::benchEvaluateType():"main-a.b":
- 0.074 msecs per iteration (total: 76, iterations: 1024)
+ 0.035 msecs per iteration (total: 72, iterations: 2048)

The other benchmarks stay the same, mostly because they manage to
circumvent the need for a full text parsing and thus the allocator.

Also note: In both callgrind and perf the rxx_allocator::allocator
was a hotspot when looking at "duchainify path/to/kdevelop" and
that mostly due to the repeated calls to ExpressionParser for simple
one-word strings which still allocated a full block of memory. Now
this can be reused and thus operates faster. Saldy, timing the run
of duchainify though does not show any noticeable speedup.

Milian Wolff committed changes in [kdevplatform/sharedurls] /tests:

Add a benchmark to compare ways of Path construction from local path.

It turns out that contrary to my expectations, using the KUrl::KUrl
ctor is just as fast as e.g. QUrl::fromLocalFile or KUrl::fromPath.

Milian Wolff committed changes in [kdevelop] /cpp/parser/tests:

Add a benchmark for the rxx_allocator.

This comes in two flavors:

1) A single pool and multiple allocations of 64 bytes. Somewhat
representative for the creation of the big AST tree.

2) Multiple pools with just a few allocations, as done by the

Current results on my machine in RelWithDebInfo mode:

RESULT : TestPool::benchManyPools():
0.039 msecs per iteration (total: 80, iterations: 2048)
RESULT : TestPool::benchManyAllocations():
0.000068 msecs per iteration (total: 72, iterations: 1048576)

KDE Base

Vishesh Handa committed changes in [nepomuk-core/KDE/4.10] services/fileindexer/indexer/simpleindexer.cpp:

SimpleIndexing: Do not save the unix file ownner, group and permissions

They were for an optimizations in the nepomuksearch query slave where
these properties were fetched so that we did not have to stat the file.
However, now we no longer pre-fetch them cause we always need to stat
the file in order to check if it exists in the file system.

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

Improved resolving whether a window is on local machine

Most windows use the hostname in WM_CLIENT_MACHINE, but there are windows
using the FQDN (for example libreoffice). So instead of "foo" it is
"" or similar. The logic so far has been unable to properly
determine whether windows with FQDN are on the local system.

In order to solve this problem the handling is split out into an own
class which stores the information of hostname and whether it is a local
machine. This is to not query multiple times. To determine whether the
Client is on the local system getaddrinfo is used for the own hostname
and the FQDN provided in WM_CLIENT_MACHINE. If one of the queried
names matches, we know that it is on the local machine. The old logic to
compare the hostname is still used and getaddrinfo is only a fallback in
case hostname does not match.

The problem with getaddrinfo is, that it accesses the network and by that
could block. To circumvent this problem the calls are moved into threads
by using QtConcurrent::run.

Obviously this brings disadvantages. When trying to resolve whether a
Client is on the local machine and a FQDN is used, the information is
initially wrong. The new ClientMachine class emits a signal when the
information that the system is local becomes available, but for some
things this is just too late:
* window rules are already gathered
* Session Management has already taken place

In both cases this is an acceptable loss. For window rules it just needs
a proper matching of the machine in case of localhost (remote hosts are
not affected). And the case of session management is very academic as it
is unlikely that a restoring session contains remote windows.

FIXED-IN: 4.11
REVIEW: 108235


Christian Mollekopf committed changes in [kdepim-runtime/KDE/4.10] /nepomukfeeder:

Stay away from nested event-loops.

This was potentially using a lot of memory, as the foreach loop would
result in n jobs which aren't freed until the end of the function (and n
can grow to the amount of items in the akonadi db). Further, collections
were potentially repeatedly fetched.

This patch should therefore not only remove the nested event-loops, but
also improve performance and memory usage.


C. Boemann committed changes in [calligra] /:

Better solution for KoDocumentInfo and content in documents.

When changing the current author we only update the KoDocumentInfo if the document has been
modified or is empty.

On first modification we make sure the KoDocumentInfo reflect what the author profile says

This makes sure we can work as a viewer still, showing the last author, but as soon as the user
starts to edit the document the document info/textvariables are updated.

It may sound simple, but it took some soul searching to convince me this is the right approach.
Well that and thinking of the best way to implement it.

What this patch does NOT do is update the current author selection menu when new author profiles
are created, and document also doesn't reflect changes to current profiles. This is because by
design the author profiles are shared across all calligra applications, so in order to accomplish
this we need to listen to changes to the config, and call KoDocumentInfo::updateParameters().

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


Marcel Wiesweg committed changes in [digikam] digikam/items/digikamimageview.cpp:

Rewrite algorithm for grouping by time:
- sort list by date, dont take this state for granted
- iterator-based on read-only list, less expensive than list editing
Works for me, testing appreciated.


KDE Base

Albert Astals Cid committed changes in [kde-workspace/KDE/4.10] ktouchpadenabler/ktouchpadenabler_daemon.cpp:

XIFreeDeviceInfo of NULL crashes, don't do it

Networking Tools

Urs Wolfer committed changes in /trunk/KDE/kdenetwork/krdc/mainwindow.cpp:

improve url parsing

- KUrl does a way better job than manal string splitting... (e.g. password / username handling)


Development Tools

Milian Wolff committed changes in [kdevplatform/sharedurls] /:

Add Path::isDirectParentOf which is a faster path.parent() == parent.

This method does not require any temporary allocations and should
thus be preferred over the previously used path.parent() == otherPath

Diffs: 1, 2, 3, 4, 5 Revision 1a80986...
Milian Wolff committed changes in [kdevplatform/sharedurls] /:

Remove KUrl-taking ctors from project items and port the usages.

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


Andreas Cord-Landwehr committed changes in [rocs] /:

Move scene size computation to graph scene.

Make clear separation between data storage at Document and its
visual represenation at GraphScene. (Including a nice reduction
of hacky code.) This finally fixes the problem of a "wobbling"
whiteboard when creating data elements.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 32b7969...
Andreas Cord-Landwehr committed changes in [rocs] VisualEditor/Actions/SelectMoveHandAction.cpp:

Whiteboard size restriction on longer needed.

The new implmentation allows moving of data elements over whiteboard
borders and automatically adjust whiteboard to those changes.

Illya Kovalevskyy committed changes in [marble] /lib:

Legend was migrated to usage of Qt WebKit (QWebView)

Guys, we have done it! Now MarbleLegendBrowser is migrated!

REVIEW: 108282
REVIEW: 108251
REVIEW: 108239
REVIEW: 108216

Diffs: 1, 2, 3, 4 Revision cf66074...

KDE Base

Jekyll Wu committed changes in [kde-runtime] /:

Adjust include orders in DrKonqi

It goes in the order of : config-drkonqi.h, self.h , Qt headers, KDE Headers,
and finally DrKonqi headers

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


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

IMAP: Remove support for the experimental QRESYNC-ARRIVED extension

It looks like there isn't much support for this proposal among the IMAP people,
so let's focus on improving the 5162-bis instead.

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


Friedrich W. H. Kossebau committed changes in [calligra] /koproperty/editors:

Sync display text with edit text for KoProperty's {Date,DateTime,Time}Edit (using QLocale for now)

* paint top border line
* add min & max options to DateTimeEdit

REVIEW: 107890

thanks jarosław for review

Diffs: 1, 2, 3, 4, 5, 6 Revision 15bc47c...


Allen Winter committed changes in [websites/quality-kde-org] website/

fix location of qimageblitz and qca

Bug 312746:
15712 days
Diffs: 1 Revision f863a30...