Issue 334

6th April 2014 by KDE Commit-Digest Team

Contributors

Jürgen Appel
Giacomo Barazzetti
Marta Rybczynska
Alex Fikl
Danny Allen

This Week...

Plasma screen locker gains password checking. Krita adds Background Color feature to KisImage. Plasma MediaCenter fetches and stores genre metadata in media library. Ktorrent implement a magnet manager; sees multiple optimizations. Pykde5 adds Sonnet support.

Statistics

Commits 2139 by 147 developers
Open Bugs 22011
Open Wishes 16055
Bugs Opened 285 in the last 7 days
Bugs Closed 208 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
204
 
/branches/stable
92
 
/trunk/l10n-support
65
 
/trunk/www
51
 
/src/Messages.sh
50
 
/krita/ui
23
 
/akonadi/itemsync.cpp
10
 
/kaddressbook/printing
10
 
/src/Ubuntu
10
 
/libs/main
10
 
Files Developer Commits
411
 
Laurent Montel
156
 
348
 
Boudewijn Rempt
118
 
243
 
Aurélien Gâteau
82
 
144
 
Marco Martin
51
 
138
 
Burkhard Lück
46
 
108
 
Alex Fiestas
40
 
111
 
Aleix Pol Gonzalez
38
 
108
 
Patrick von Reth
37
 
111
 
Yuri Chornoivan
37
 
102
 
Christophe Giboudeaux
37
 

Internationalization (i18n) Status

Language Percentage Complete
Polish (pl)
100%
 
German (de)
99%
 
Brazilian Portuguese (pt_BR)
99%
 
Swedish (sv)
99%
 
Portuguese (pt)
99%
 
French (fr)
97%
 
Dutch (nl)
97%
 
Spanish (es)
96%
 
Bosnian (bs)
94%
 
Italian (it)
90%
 

Bug Killers

Person Bugs Closed
Jekyll Wu
38
 
Christoph Feck
17
 
Marco Martin
12
 
Boudewijn Rempt
11
 
Gilles Caulier
8
 
Frank Reininghaus
8
 
Laurent Montel
8
 
Kevin Funk
7
 
David Edmundson
6
 
Myriam Schweingruber
6
 

Commit Countries

Commit Demographics

Sex

Age

Contents

  Bug Fixes Features Optimization Security Other

Accessibility

     

Development Tools

  []    

Educational

  []    

Graphics

[] [] []   []

KDE Base

[] [] []   []

KDE-PIM

[] [] [] [] []

Office

[] [] []   []

Konqueror

     

Multimedia

[] [] []   

Networking Tools

[] [] []   

User Interface

     

Utilities

  []    

Games

     

Other

     

There are 87 selections this week

Bug Fixes

Graphics

Gilles Caulier committed changes in [digikam] /views:

apply patch #85919 from Shourya Singh Gupta to handle D&D operation with tags over preview canvas

FIXED-IN: 4.0.0

Reimar Döffinger committed changes in [kgraphviewer] /part:

Handle failure to load a file without crashing.

This happens if the file does not exist or is not readable.

Signed-off-by: Reimar Döffinger

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

KDE Base

Alex Merry committed changes in [kio] src/widgets/kdesktopfileactions.cpp:

Resolve a KDE4 TODO in KDesktopFileActions

Show an error message when KDesktopFileActions::run() is called with a
desktop file that looks like it's an application or runnable service,
but KService actually doesn't like it.

The comment about the error message already having been shown hasn't
been true for around 15 years, as far as I can tell (git commit
7bda6331, svn revision 20718).

REVIEW: 117299

Marco Martin committed changes in [plasma-workspace] applets/icon/package/contents/ui/main.qml:
David Edmundson committed changes in [plasma-desktop] /contents:

Workaround crash when dragging items from widget explorer to the panel

When we drag an item from the widget explorer onto the taskbar the
taskbar activates and takes focus. This closes and deletes the Widget
explorer.

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.13] dolphin/src/kitemviews/private/kdirectorycontentscounter.cpp:

KDirectoryContentsCounter: do not delete currently active worker objects

Before this patch, the destructor of KDirectoryContentsCounter might
delete the worker object, which lives in another thread, while one of
its methods was still being executed. This could cause a crash. Only if
the destroyed KDirectoryContentsCounter was the last one, the worker
thread was stopped, and the destructor waited until all workers are
done.


FIXED-IN: 4.13.0
REVIEW: 117209

Kåre Särs committed changes in [kate] addons/kate/search/plugin_search.cpp:

S&R: Do not trigger searchWhileTyping on result tab change


FIXED-IN: 3.13 (KDE 4.13)

Marco Martin committed changes in [plasma-desktop] /desktop/package/contents/ui:

don't move the handle on resize

also fix handle sizing, and don't hide when the mouse is over an handle button

Martin Klapetek committed changes in [plasma-workspace] dataengines/mpris2/mpris2engine.cpp:

Fix mediacontroller showing twice for VLC

There's a more correct fix to that (see the comment in the diff) but
given the situation, it's just much easier to go with this way.

Reviewed-by: David Edmundson

Jan Grulich committed changes in [plasma-nm/frameworks] libs/editor/settings/ui/wificonnectionwidget.ui:

Be more informative about what option 'Hidden' do in create wifi connection
dialog.

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

[scene-xrender] Do not render deco part if it doesn't end on screen

If the deco part doesn't exist or the target rect is empty, KWin should
not try to composite the deco part on the screen. It can be an empty
rect for maximized windows. If the render composite is tried it results
in an error (note - man page says "This request does never generate any
errors.").

To simplify the macro is turned into a lambda.

The root cause for this problem is that PaintRedirector creates an
XRenderPicture for those invalid geometries and this requests arleady
fails. Thus RasterXRenderPaintRedirector is adjusted to not create the
XRenderPicture in that case and set it to nullptr. For a null
XRenderPicture XCB_RENDER_PICTURE_NONE is returned.


REVIEW: 117373

KDE-PIM

Laurent Montel committed changes in [kdepim/KDE/4.13] /:

Fix Bug 332344 - KMail Composing with apostrophes cursor jumps all over

FIXED-IN: 4.13

Laurent Montel committed changes in [kdepim] /:

Fix Bug 175441 - Option to hide crypto state indicators

FIXED-IN: 4.14

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision dd75f52...
Dan Vratil committed changes in [akonadi/1.12] /src:

Fix potential severe data loss during copy and move operations

Move and copy operations on larger sets of items can take some time, because
we need to make sure that all items have full payload stored in Akonadi. This
is necessary especially with local resources, like maildir, which have cache
timeout set to 5 minutes (after that all their payload is removed from Akonadi
and is fetched from HDD on demand, because it's cheap, fast and does not
unnecessarily duplicate emails in maildir and in database). However fetching
large amount of items via ItemRetriever takes a lot of time, sometimes it can
take even more than 5 minutes. And in such case there is a very high chance,
that the CacheCleaner will just remove the newly cached payloads from Akonadi
again and so when ItemRetriever finishes, many items have empty payload in
Akonadi again. ItemRetriever nor handlers are aware of this howerver, so they
will just make copies or moves of empty items, causing data loss.

This patch introduces CacheCleanerInhibitor, a class which when it is created
will pause the timer in CacheCleaner and resume the timer again when it's
destroyed (so usually when it goes out of scope). Also, this patch adds the
inhibitor to all handlers that use ItemRetriever, so that the the situation
described above does not happen.

The current solution is not perfect because it pauses the entire CacheCleaner
while I think it would be better to be able to temporarily 'blacklist' only
specific collections or items. That would however require much more complex
code and changes, which makes it unsuitable for 1.12 release.

I tried moving 78 000 emails from one maildir to another and all emails were
moved correctly. Move itself has many other problems (CPU, IO, memory, KMail
responsivness, etc.) but that's out of scope of this fix.

Martin Koller committed changes in [kdepim-runtime/KDE/4.13] resources/mbox/compactpage.cpp:

make "compact now" work when file is already empty

even if purge() returns false but the file is already empty, we still
discard our deleted items list and do not issue an error.

REVIEW: 116985

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

Ubuntu: Fix password dialog

Password dialog now uses a composer sheet, which also displays any
authentication errors
raised.

When launching app, if an imap account already exists then we skip the
settings page and
go straight to mailbox view where the password dialog will open
requesting password.

If an authentication error is raised we show an additional message that
explains to
either retry entering password or click cancel to return to the settings
page. We do not want the
user to be able to view mailbox without a connection. So this message
tries to make it clear what
clicking Cancel will do

REVIEW: 117380

Changed dialog message to match Desktop message

Added keys.svg icon for password dialog. License: CC-BY-SA 3.0. Copyright by Dan Chapman 2014.

Changed text to 90% gray HEX: #333333. Using pure black did not work nice with ubuntu font

Diffs: 1, 2, 3, 4 Revision 6848e6c...

Office

Stuart Dickson committed changes in [calligra/steam-247500_247566] krita/plugins/paintops/libpaintop/kis_dynamic_sensor.cc:

Fix memory leak when creating strokes

Use KisShared to handle memory management of the sensor objects that
get created when making a stroke.

Dmitry Kazakov committed changes in [calligra] /:

Fixed loading of the EXR files with zero alpha and non-zero colors

EXR works with premultiplied colors, so it suports having zero alpha and
non-zero colors. Krita doesn't support premultiplied colors, so we just
set alpha to HALF_EPSILON on loading and reset it back to zero on saving.

This introduces subtle round-trip bugs, but they happen for alpha < 0.01
values only (which is 1%).

TODO:
Now we also need to reset default projection color of the image to black
to load the EXR properly

Boudewijn Rempt committed changes in [calligra] /plugins/paintops/libpaintop:

Fix memory leak when creating strokes

Use KisShared to handle memory management of the sensor objects that
get created when making a stroke.

Sven Langkamp committed changes in [calligra] libs/widgets/KoResourceTagStore.cpp:
Stuart Dickson committed changes in [calligra/steam-233896_233900] /:

Fixed loading of the EXR files with zero alpha and non-zero colors

EXR works with premultiplied colors, so it suports having zero alpha and
non-zero colors. Krita doesn't support premultiplied colors, so we just
set alpha to HALF_EPSILON on loading and reset it back to zero on saving.

This introduces subtle round-trip bugs, but they happen for alpha < 0.01
values only (which is 1%).

TODO:
Now we also need to reset default projection color of the image to black
to load the EXR properly

Multimedia

Vincent Pinon committed changes in [kdenlive/next] /:

Remove the MLT processing threads option that never really worked and crashes movit

Conflicts:
src/renderer.cpp

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 71174b4...
Jean-Baptiste Mardelle committed changes in [kdenlive] /:

Make scopes work again with movit

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision 2c7e003...
Arnold Dumas committed changes in [juk] scrobbler.cpp:

Don't crash when clicking on a music when the network is unavailable and the scrobbling is set up.
REVIEW: 117334

Networking Tools

Emmanuel Pescosta committed changes in [dolphin-plugins] dropbox/fileviewdropboxplugin.cpp:

Fix crash on startup caused by Dropbox plugin

Create the item state socket on "begin retrieval" and delete
it again in "end retrieval".


FIXED-IN: 4.13.0
REVIEW: 117344

Urs Wolfer committed changes in [krdc/KDE/4.13] mainwindow.cpp:

usability fix for host rename dialog

- provide old text as selected default value


FIXED-IN: 4.13

Features

Development Tools

Simon Edwards committed changes in [pykde5] /:

Added sonnet support.

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

Educational

Aleix Pol Gonzalez committed changes in [kalgebra/kf5] src/kalgebra.cpp:

Make it possible to export the 3D plots into a 3D space file

Just printed a plot in 3D, how cool is that?

Graphics

Dominik Haumann committed changes in [tikzkit] /app:

add tex-to-pdf generator

Dominik Haumann committed changes in [tikzkit] /:

start implementing diamond shape

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

KDE Base

Martin Klapetek committed changes in [plasma-workspace] applets/notifications/package/contents/ui/NotificationPopup.qml:

Add the notification image sent over dbus to the popup

Marco Martin committed changes in [plasma-workspace] applets/systemtray/package/contents/ui/CompactRepresentation.qml:

inverting the layout direction centers better

inverting when the layout is vertical and horizontal,
yelds more predictable results
Also, the icons are better cetered when there is only one row

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

Add password checking to screenlocker

A new Authenticator item is introduced and exported to QML. It provides
a slot tryAuthenticate taking the password as a string. If invoked it
creates a KCheckPass object which handles the communication with the
kcheckpass binary to verify the password. If the authentication succeeded
the Authenticator emits a succeeded() signal, on failure a failed()
signal.

The authentication process is bound to a grace timer. While this timer is
active it's not possible to authenticate again. This state is exposed
with a Q_PROPERTY and used by the UI to disable the password field and
unlock button.

REVIEW: 117321

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 95bf51b...
Marco Martin committed changes in [plasma-framework] /:

a breeze-dark theme

this theme won't have any graphics, just colors that get applied with css on the default svgs

Diffs: 1, 2, 3, 4, 5 Revision a326f85...
Marco Martin committed changes in [plasma-framework] /:

new AppletInterface in case of inexistent plugin

if the plugin name is wrong, create a fullfledged appletinterface for the error visualization.
This will make applet removal possible

Marco Martin committed changes in [plasma-framework] src/declarativeimports/plasmacomponents/qml/PageStack.qml:
Martin Gräßlin committed changes in [plasma-workspace] /screenlocker:

Add logind integration to screenlocker

A new class LogindIntegration is added to the screenlocker. This class
listens to the Lock and Unlock signals emitted by the session object on
the logind service.

This is integrated with the screenlocker application to start or quit the
lock when the signals are emitted. This means a locked screen is unlocked
when the Unlock signal is received from logind. Logind is a higher
authority for the screenlocker and thus follows the requests from logind.


REVIEW: 117355

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

reenable categories show/hide

still missing the enable/disable of specific applets
(not sure we want that at all)

KDE-PIM

Kevin Ottens committed changes in [zanshin] /:

Update the domain model based on latest discussions

* Tag is gone;
* Topic (for notes) and Context (for tasks) got reintroduced instead;
* Note class inheriting from Artifact got introduced (to avoid stupid
situations like a topic associated to a task);
* Artifact is now purely semantic construct, it has no queries or
repository of its own anymore;
* Tasks can only have other Tasks as child;
* Projects keep mixing Tasks and Notes (IOW Artifacts) just fine.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 5b0d2ac...
Jan Kundrát committed changes in [trojita] src/Gui/PartWidget.cpp:

GUI: show a warning for "unknown" multipart/alternative parts

v2: Also provide simple captions for text/plain and text/html MIME types, and
simplify the code by calling setTabIcon instead of repeating the call to
addTab().


REVIEW: 117335

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

GUI: expand previewable attachments upon first click on the attachment icon

The motivation is to make expanding of previewable attachments smooth, but at
the same time do not interfere with the way how the button has worked so far too
much.

When an attachment cannot be previewed, nothing changes and everything works as
it used to work before.

When a preview can be shown, however, clicking on the icon of the attachment at
the time the preview is collapsed will simply show the preview. When the preview
is shown, however, clicking any part of the icon will still bring up the menu as
it used to work previously.

This is an alternative implementation to review #117068.

v2: Use another approach for determining what action to take based on the actual
state of the preview in order to prevent duplicate connections. Thanks to Thomas
Lübking for pointing out a possible problem here.


REVIEW: 117295

Dan Vratil committed changes in [kdepimlibs] /:

Allow FETCH and DELETE without SELECT and implement Tags-based fetch

Akonadi server now supports doing FETCHes without having to do SELECT
before. This ports the ItemFetchJob and ItemDeleteJob to the new
syntax and extends ItemFetchJob API to allow fetching all items
tagged with a specific tag.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision b40b30b...
Laurent Montel committed changes in [kdepim] /searchdialog:

Office

Stuart Dickson committed changes in [calligra/steam-227926] krita/plugins/formats/psd/psd_loader.cpp:

add import for PSD layer groups

Boudewijn Rempt committed changes in [calligra/calligra/2.8] krita/plugins/formats/psd/psd_loader.cpp:

add import for PSD layer groups

Boudewijn Rempt committed changes in [calligra] krita/kis_splash_screen.cpp:

show most recent file on top in splash

Boudewijn Rempt committed changes in [calligra/calligra-mvc-rempt] /:

Start work on a more full-features splash screen.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 14ce0f0...
Sven Langkamp committed changes in [calligra] /:

add option to scale palette color thumbnails

Patch by Ghevan

Sven Langkamp committed changes in [calligra] krita/plugins/formats/psd/psd_loader.cpp:

add import for PSD layer groups

Boudewijn Rempt committed changes in [calligra] /plugins/paintops/colorsmudge:

Next step in smudge radius implementation

Patch by Mohit Goyal. Thanks!

Boudewijn Rempt committed changes in [calligra] /ui:

Allow to hide scrollbars in normal mode, not just canvas-only

Patch by Ghevan. Thanks!

Sven Langkamp committed changes in [calligra] krita/ui/kis_popup_palette.cpp:

update popup palette color preview in real-time

Patch by Koushik S,

Dmitry Kazakov committed changes in [calligra] /:

Added a Background Color feature to KisImage

Now the user can choose the Background color for the projection.
Just go to Image->Properties->Background Color and choose the one
you want. And you'll never see the checkers anymore :)

This also fixes EXR images, which should have a black BG color

Multimedia

Shantanu Tushar Jha committed changes in [plasma-mediacenter] /:

For images, attempt to fetch the date the camera took the photo

We now use NEXIF::dateTimeOriginal() to fetch the date/time of when the
camera took the photo. If this fails, or if the media is not an image,
we simply get the created date/time

Jean-Baptiste Mardelle committed changes in [kdenlive] src/initeffects.cpp:

Make movit wipe transition work like MLT's wipe

Shantanu Tushar Jha committed changes in [plasma-mediacenter] /metadatabackends:

Videos and Pictures mode to be sorted by date/time

The All Videos and All Pictures mode are now sorted in descending order
of the date/time they were taken (in case of pictures) or when the file
was created

Diffs: 1, 2, 3, 4 Revision 3a7c8e8...
Christian Esken committed changes in [kmix] core/volume.cpp:

Support translation of channel names (e.g. Left, Rear back Subwoofer)

Ashish Madeti committed changes in [plasma-mediacenter] /:

Fetch and store genre metadata in media library
REVIEW: 117365

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

Networking Tools

Daniel Kreuter committed changes in [choqok] /:

Added support for pictures in Twitter posts.

Choqok will now be able to display images of tweets if available.

David Edmundson committed changes in [ktp-text-ui] /:

Contact info button in Actions menu for regular chat

button which shows info dialog about active contact in chat

works only for regular chat (no group), due to problem with real user ID in group chat

is compatible with kpeople

REVIEW: 115842

Diffs: 1, 2, 3, 4, 5 Revision a331e63...
David Edmundson committed changes in [ktp-common-internals] /Widgets:

Added presence request message in the add contact dialog

Added an optional text input line for the capability of sending a message with presence requests.

I'm not entirely sure of the HIG for making it clear that it's an optional field, so put the label below for now - putting 'message (optional)' on the left-hand label looks unreasonably awkward to me.

REVIEW: 117138

Alexander Reinholdt committed changes in [smb4k] /browser:

Implemented selection of multiple items in the browser:
You can select multiple items in the browser by pressing either the
CTRL or Shift key. However, only share items can be selected this way.
All others are automatically deselected.

Diffs: 1, 2, 3 Revision b2fe073...
Siddhartha Sahu committed changes in [ktp-text-ui] /:

Add option to open contact list from the toolbar

REVIEW: 117177

Siddhartha Sahu committed changes in [ktp-desktop-applets] /src:
Lamarque Souza committed changes in [plasma-nm/0.9.3] libs/editor/settings/ui/wificonnectionwidget.ui:

Be more informative about what option 'Hidden' do in create wifi connection
dialog.

Juan Palacios committed changes in [ktorrent] /:

Implement a magnet manager

Until now, all added magnets were being started to download immediately.
This is not a problem when the magnet download list is short. But, this
is not the case when the syndication plugin are used to download a big
list of magnets. In this scenario, KTorrent hangs and after after
a short time, fills the avaiable system memory.

This patch implements a magnet manager that will download the magnets
added to it in a sane way. It uses a number of downloading slots to
download the magnets concurrently. If a magnet is not downloaded in
a period of time, it will be pushed back at the end of the queued
magnets. The use of the timer, the maximum time of the timer and the
number of downloading slots are configurable through the advanced
settings tab in the settings dialog.

The old functionality to start, stop and delete magnets is preserved.

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

Utilities

Matthias Klumpp committed changes in [apper] /:

Bring back screenshots support

Optimization

Graphics

Albert Astals Cid committed changes in [okular/KDE/4.13] core/utils.cpp:

Protect us against broken drivers/screens

Some drivers screens return 0x0 as their screen size so we can't use it
to calculate the dpi



FIXED-IN: 4.13.0

KDE Base

Martin Klapetek committed changes in [plasma-workspace] applets/notifications/package/contents/ui/NotificationPopup.qml:

Make the notification's popup title a bit smaller

Heading level 3 is just too big and barely fits the small notification
popup. I would like to avoid to make the notification wider and wider to
fit too big title, so I decided to make the title one level smaller

Marco Martin committed changes in [plasma-framework] src/shell/desktopview.cpp:

KDE-PIM

Sergio Luis Martins committed changes in [kdepimlibs] kcalutils/incidenceformatter.cpp:

Optimization for opening invitations with lots of attendees.

Reduces the amount of KPIMIdentities::IdentityManager() constructions.

20% faster

Sergio Luis Martins committed changes in [kdepimlibs] kcalutils/incidenceformatter.cpp:

Don't freeze KMail for 2 seconds when opening invitation.

Turns out "new KPIMIdentities::IdentityManager" is expensive, so
create it once, instead of once per attendee.

Sergio Luis Martins committed changes in [kdepim] /messageviewer/bodypartformatter:

Make viewing invitations in KMail really fast if korg is running.

If either korganizer or summary view are in memory, just reuse their
ETM.

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

Improve detecting of attachments

This patch makes it "ignore" single-part multipart/* and any multipart/signed.
In any of these cases, the actual nested MIME part is checked.

Support for proper handling of multipart/alternative got added as well.

v2: Refactoring, and disregard any multipart altogether, i.e. just look at the
nested body parts. See inline comments for details.

Thanks to Thomas Lübking & Stephan Platz for their review.


REVIEW: 117360

Laurent Montel committed changes in [kdepim] /:

improve default theme

Office

Sven Langkamp committed changes in [calligra] /:

add new predefined image sizes by Ghevan, also sort the list

Boudewijn Rempt committed changes in [calligra] krita/ui/kis_popup_palette.cpp:

Multimedia

Christian Esken committed changes in [kmix] gui/mdwslider.cpp:

Kmix in 4.13 does align the icons left in the vertical mode.
I think this is not the desired behavior and does not look
particularly good with centered text and a centered slider.
Forwarding patch to master
REVIEW: 116974

Networking Tools

Juan Palacios committed changes in [ktorrent] /:

Increase maximum number of slots for magnet queue

The magnet queue was implemented to alleviate the network congestion
produced when a big list of magnets are downloaded at the same
time. Also, having so many magnets downloading at the same time was
pointed (prematurely and incorrectly, my fault) as the reason for some
hangs that KTorrent has sometimes when it are downloading such big list
of magnets.

As the number of concurrent downloading magnets are not directly related
with the hangs, this patch increases the number of downloading slots for
the queue manager from 20 to 100. So now, anyone can overload his
network if he want ;).

Juan Palacios committed changes in [ktorrent] /syndication:

Improve performance of several Feed methods

A list of loaded items was being used to track the status of the Feed
items. Lists has O(n) complexity, leading to bad performance in the
methods that were used mainly to check if a item was contained in it.

This patch replaces the list for a set, leading to O(1) complexity. It
also adds a local cache of feed items ids stored in a set, that has the
same performance improvement purpose while checking the validity of the
already loaded items.

Juan Palacios committed changes in [libktorrent] src/peer/peer.cpp:

Check wrong metadata_size values during peer extended handshake

Sometimes, some peers give us a value too large for metadata_size during
the handshake process. Those _extremely high_ values were the root (or
part of) of those random hangs while downloading magnets that some of us
were experiencing lately.

This patch adds a check to close the connection with the peers that send
us those metadata_size values during the handshake process. Now, the
maximum value allowed for the metadata is 4MiB.

Security

KDE-PIM

Jan Kundrát committed changes in [trojita] src/Ubuntu/main.cpp:

Ubuntu: fix insecure access to CWD when looking up files

The logic wa sapparently to make sure that we can find the QML file when run
straight from the build dir. However, it is important to use the path to the
aplication binary instead of the $CWD because otherwise Trojita would do
extremely dumb thing when called from inside an attacker-controlled directory.

This commit also adds the path to the app's exec file to the list of paths to
perform the lookup in order to preserve the desired functionality.

Jan Kundrát committed changes in [trojita] src/Ubuntu/qml/trojita/ImapSettings.qml:

Ubuntu: adds an secure connection option selector to Imap Settings

User can select connection type from an expandable option selector,
which updates the imapPort text field to the standard connection port.

User can still override port value in imapPort text field

Also we have to use QT_TR_NOOP for marking strings in list model
elements for translation and call translate on them in the
selectorDelegate. QT_TR_NOOP apparently makes the strings visible to
Qt Linguist but doesn't actually translate anything.

REVIEW: 117212

Other

Graphics

Dominik Haumann committed changes in [tikzkit] /:

port TikZKit to Qt5

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

KDE Base

Phil Schaf committed changes in [kate/frameworks] /pate:

Requiring Python 3.4 since all KF5 distros will have it anyway

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

KDE-PIM

Christian Mollekopf committed changes in [kdepim-runtime/kolab/integration/4.13.0] /imap:

Disable CONDSTORE when using Gmail

Gmail's implementation of CONDSTORE is weird and breaks changes
synchronization of folders other than INBOX. Until we can figure
it out (or untile a Gmail Resource is written), we better disable
CONDSTORE when using Gmail, so that people can get to their emails.

This means that mail check with Gmail is going to be slow again, but
no other functionality is lost.

Approved-By: Christian Mollekopf

Diffs: 1, 2, 3 Revision 50ca5c6...

Office

Sven Langkamp committed changes in [calligra] /plugins/tools/defaulttools: