Issue 334
6th April 2014 by KDE Commit-Digest TeamContributors
Giacomo Barazzetti
Marta Rybczynska
Alex Fikl
Danny Allen
This Week...
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
apply patch #85919 from Shourya Singh Gupta to handle D&D operation with tags over preview canvas
FIXED-IN: 4.0.0
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
KDE Base
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
icon is always fullrepresentation
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.
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
S&R: Do not trigger searchWhileTyping on result tab change
FIXED-IN: 3.13 (KDE 4.13)
don't move the handle on resize
also fix handle sizing, and don't hide when the mouse is over an handle button
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
Be more informative about what option 'Hidden' do in create wifi connection
dialog.
[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
Fix Bug 332344 - KMail Composing with apostrophes cursor jumps all over
FIXED-IN: 4.13
Fix Bug 175441 - Option to hide crypto state indicators
FIXED-IN: 4.14
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.
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
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
Office
Fix memory leak when creating strokes
Use KisShared to handle memory management of the sensor objects that
get created when making a stroke.
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
Fix memory leak when creating strokes
Use KisShared to handle memory management of the sensor objects that
get created when making a stroke.
save tags with special characters properly
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
Remove the MLT processing threads option that never really worked and crashes movit
Conflicts:
src/renderer.cpp
Make scopes work again with movit
Don't crash when clicking on a music when the network is unavailable and the scrobbling is set up.
REVIEW: 117334
Networking Tools
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
usability fix for host rename dialog
- provide old text as selected default value
FIXED-IN: 4.13
Features
Development Tools
Added sonnet support.
Educational
Make it possible to export the 3D plots into a 3D space file
Just printed a plot in 3D, how cool is that?
Graphics
add tex-to-pdf generator
start implementing diamond shape
KDE Base
Add the notification image sent over dbus to the popup
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
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
a breeze-dark theme
this theme won't have any graphics, just colors that get applied with css on the default svgs
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
make the animate property do something
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
reenable categories show/hide
still missing the enable/disable of specific applets
(not sure we want that at all)
KDE-PIM
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.
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
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
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.
Allow to show original folder
Office
add import for PSD layer groups
add import for PSD layer groups
show most recent file on top in splash
Start work on a more full-features splash screen.
add option to scale palette color thumbnails
Patch by Ghevan
add import for PSD layer groups
Next step in smudge radius implementation
Patch by Mohit Goyal. Thanks!
Allow to hide scrollbars in normal mode, not just canvas-only
Patch by Ghevan. Thanks!
update popup palette color preview in real-time
Patch by Koushik S,
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
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
Make movit wipe transition work like MLT's wipe
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
Support translation of channel names (e.g. Left, Rear back Subwoofer)
Fetch and store genre metadata in media library
REVIEW: 117365
Networking Tools
Added support for pictures in Twitter posts.
Choqok will now be able to display images of tweets if available.
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
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
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.
Add option to open contact list from the toolbar
REVIEW: 117177
Use SettingsKcmDialog from K-C-I
REVIEW: 117181
Be more informative about what option 'Hidden' do in create wifi connection
dialog.
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.
Utilities
Bring back screenshots support
Optimization
Graphics
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
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
alt+f4 shouldn't work on the dashboard
KDE-PIM
Optimization for opening invitations with lots of attendees.
Reduces the amount of KPIMIdentities::IdentityManager() constructions.
20% faster
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.
Make viewing invitations in KMail really fast if korg is running.
If either korganizer or summary view are in memory, just reuse their
ETM.
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
improve default theme
Office
add new predefined image sizes by Ghevan, also sort the list
Improve popup palette layout
Patch by Ghevan
Multimedia
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
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 ;).
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.
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
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.
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
port TikZKit to Qt5
KDE Base
Requiring Python 3.4 since all KF5 distros will have it anyway
KDE-PIM
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
Office
hide stroke widget in path tool