21st October 2012by KDE Commit-Digest Team
|Commits||2197 by 176 developers|
|Bugs Opened||324 in the last 7 days|
|Bugs Closed||416 in the last 7 days|
|Jonathan Michael Thomas||
Internationalization (i18n) Status
|Chinese Traditional (zh_TW)||
|Low Saxon (nds)||
|Norwegian Bookmal (nb)||
|adriyetichaves gmail com||
|Albert Astals Cid||
There are 117 selections this week
Ensure we pass clean URLs along.
This is now enforced by the BackgroundParse API and would otherwise lead to assertions.
Correctly enable/disable the "Get" button from the "Fetch Project" dialog for
Added an isCorrect() method to the IProjectProvider interface, exactly as in
the VcsLocationWidget class. This method will then be used in the
reevaluateCorrection() method inside the ProjectSourcePage class to check
whether the "Get" button should be enabled or not.
Restore support for projects with only 1 builder.
This probably affects custom makefile, definetly affects custom buildsystem
and any other buildsystem plugins which have only a single builder. The
top-builder was not added to the list of kcm-names to be shown and hence
the project config dialog didn't show any configuration pages.
There should probably be a warning or even user-visible error shown when
the list of kcm-plugins to load into the dialog is empty since thats
always a strong indicator of a bug somewhere.
plasma-mobile needs kde-workspace too
Rework debug parameters handling (in app/main.cpp), fix session/launch config naming.
Fixes a bug when running "kdevelop --debug gdb someexecutable" results
in session/launch config being named "Debug omeexecutable" - that is,
with first letter omitted.
Also makes code handling all that slightly more neat.
Do not crash in files spectre fails to render
Do not crash if start or end layout don't exist
Prevent integer overflows when calculating the memory necessary for loading an image.
This can happen particularly for images requiring chunks of >4GB and when using a 32 bit
variable to store width and height. Worst case, a smaller chunk of memory was allocated,
resulting in a crash.
ResourceMerger: Optimize cardinality checks
Use an ask query, instead of select, when the max cardinality = 1
Fix crash due to Nepomuk2::ResourceData not updating the caches properly
when the naoIdentifier or nieUrl changes. Those are used as the key
in two caches in ResourceManager, so if we don't deregister properly
we end up with dangling pointers in ResourceManager, leading to crashes
much later on.
Currently, the Vi Input Mode always resets the cursor to the start of the range when exiting Visual Mode, whereas Vim does not do this if we are exiting due to Ctrl-c or ESC.
This patch fixes this, and also allows the usage of the ESC key in vimode_tests.
Fix usage regressions (keyboard-only) in Kickoff-Widget 4.9.2
Bring back Up/Down arrow support for leaving applicationView,
while also keeping the ability to execute applicationView items.
Check if referenced objects are valid
This kills two ReferenceErrors I'm seeing when using ListItems inside
VisualItemModels (in this case, there's no view and visual parent
attached on creation).
Fix crash when trying to reuse a frame with a null part.
Fix the plasma spellchecker's 'foreign language' support.
Previously this caused segfaults (even if not used) because
it called setLanguage(), which is not thread-safe, in match().
Instead, this patch constructs a new speller safely for each new
language, without deleting the old one. Old spellers are instead
deleted on the teardown() signal.
While we're at it, amend the language detection so that the user
can type natural language names (eg, 'german') and have the
spell-checker find the right language.
Fix race condition and deadlock in the version plugin
when listing directories is slow.
Nepomuk: New tags kioslave
It lists all the tags and lets the user browse their files based on
these tags. Each tag directory shows the files tagged with the
corresponding tag, along with any additional tags that may be used to
filter the search results.
This kio slave does not support creation/deletion/renaming or any other
operation on the tags.
Fix: margins and offsets for items in popup dialog
Fix test for Qt5's slightly stricter URL parser.
The first one was a bug in the test, the second one was a rather
weird url-like string which we're not using anymore anyway.
Fix valgrind warning on startup, the setter compares with the current value...
Fix include QtDeclarative include for Qt5 compatibility.
Don't specify the QtDeclarative directory for include files, as it is named QtQuick1 in Qt5...
Fix Bug 149409 - Add online/offline button to the systray context menu
Fix Bug 308566 - Using a folder while IMAP agent is offline does not
load folder settings (and sometimes loses them)
Now it doesn't timeout when it's offline.
I can't reproduce problem with settings not stored/load.
All is ok.
Reopen if you can reproduce it
Fix bug found by allen just reproduce in kontact mode
In kontact mode in KMailPart::guiActivateEvent it calls createsAction()
but as not it's async it didn't know that we searched tag and created
5 query => it will create multi actions.
Don't call cancelTask() when an invalid collection is given
The behavior introduced by 0ecdc1c34082224fff5f360b2d6c9a7bfe8c7ac3
caused a spurrious notification at each sync. Now just return
an empty items list.
(cherry picked from commit 5e7db58608f39bceb94ff421abd48729cc46cf72)
Don't emit Auth::authenticated() when tokens refresh fails
This prevents AccessManager to resubmit the cache of request, which
would lead to endless loop of submit-fail-submit-fail...
Add function need for fixing bug:173303 Plain-text version of
HTML messages is poor
Fix Bug 308480 - vCards get imported/exported with incorrect Photo
Fix Bug 272155 - JJ: 'J' becomes an ambiguous shortcut after switching
to side preview pane
And reduce mem leak when we recreate action
Do not modify incidence on write.
A writeIncidence call would cause the customProperties of an
incidence to be modified if the incidence has a scheduling ID.
This resulted in a call to update on each write. This caused problems
especially when archiving old kolab messages because each message would
be written to the archive and thus updated. Causing the update to
run on a deleted incidence.
Change the filtering pipeline. So far if there was a move and a modifier filter, the order was modify followed by move. Now it is move followed by modify. The original order in the filters doesn't matter, it is always reordered. The problems with the old approach was: - if there was a move and a payload modification job, the item was firt modified, the payload uploaded back to the original place and then moved. This caused an extra store in the backend, that e.g on IMAP causes quite heavy traffic. - due to the above behavior, it could happen that the payload change updates the remoteId, so the move afterwards moves the *original* item, while the modified remains in the original place. This results in mail duplication. The behavior was visible with spam filtering on IMAP.
The patch also cleans up the filter processing a little, reducing the number of
arguments passed to process() and introduces simple error handling instead
of the existing complex, but incomplete one.
Fix Bug 171992 - Add the option for not showing the number of unread
mails in the system tray
Put window icons on the config windows
The fixes most, but not all, mentioned in the bug report.
Backport of the filter pipeline refactoring fix, that should fix the duplication of mails when it goes through several filter that move and modify the mail.
Disable animations for Open/Save pages since it causes crashes.
disabled krita colorspace plugins for braindump, flow, karbon, avoid possible crash when opengtl has problem. REVIEW: 106932
, 302556, 306356, 306422
Roundtrip master documents
This patch allows Calligra Words to roundtrip so called Master
Documents, which are documents that reference other documents. The
actual features of master documents are not handled, but at least the
information in them are not destroyed.
Fix broken dvd menu, add support for VLC to preview DVD
collectionscanner: prevent writing malformed XML
As you probably know already, Qt deviates from the "output strictly,
input relaxed" practice by producing shit in QXmlStreamWriter, which is
then being rejected by QXmlStreamReader.
This is a temporary solution, to try to escape all possible occurences
of invalid characters in the XML.
Faster html elements check and better address resolution
This "should" fix some strange adblock behaviour on image hiding.
Patch courtesy by "vic". Thanks :)
PS: will be applied to rekonq2, too.
[ #16721 ] Fix CPU leak
Reset filter when the filterbar is closed
Don't initialize NickInfo's online state to true.
This went unnoticed for surprisingly long, but broke down badly
if you opened a query to someone on the WN list while they were
offline and the WN tab is open: A NickInfo gets on-demand initia-
lized, taken as online and the WN code starts doing periodical
WHOIS checks that end up spamming the FrontView with their "no
such server" responses ...
Fix tab bar visibility when set as auto-hide
First check for missing files then for unmounted storage
Fix crashes in the runner
- Limit matches running in parallel using a QSemaphore
to prevent crashes
- When a match gets started from a non-GUI thread, wait for the
match to complete (using a QEventLoop)
- No blocking queued connection for the
- Use Result objects for the data of 'Plasma::QueryMatch'es
to be able to include more data, such as stop geo positions
Fixed bugs in tablet applet.
* Fixed potential memory leak in applet.
* Fixed a bug where the applet would crash on exit.
* Updated system test spec to include a test which ensures the tablet exits fine.
M +- -- design/specs/SystemTest.odt
Fix shown applet context menu actions
- Show filter menu when filters OR color groups are available,
not both (AND)
- Show journey menu also when only one stop is configured
Yet another stab at preventing signals from changelog-fetching KJobs that return during a cache reload and crashing us.
This time it really, really should be fixed, since we're manually taking the deletion of the KJob in our hands (instead of relying on its auto delete function) to ensure that before we go down for a cache reload, we kill the KJob *dead*.
Fix crash with grayscale images
(cherry picked from commit fa3a58e6184423805891ae7dea37c9adc212eb88)
Fixed some Bugs.
* Fixed a bug which prevented X11TabletFinder from finding all tablet devices.
* Fixed a bug where only a few bytes of a string property were returned.
* Increased default value of the number of elements which are returned for string properties.
Add a test that shows that we do not make use of implicit sharing in IndexedString <-> QString conversions.
I.e. the memory consumption of that test increases as a new instance is
allocated everytime we call ::str(). We should investigate whether we could
maybe reuse the same QString instance to optimize the memory consumption.
Same goes for .toUrl() btw.
Load multiple files on command line into one window
Previously, if you had multiple profile data files in the
current directory, and did
it loaded every file into a separate new toplevel window, which
for sure is not expected. It only works with local, uncompressed
files for now.
The change also is done for qcachegrind.
add "hist" to the list of known plotting commands in the octave backend
training screen: add a digital indicators for accuracy and speed
Now it's easier to see whether you will pass the lesson.
Added the possibility to adjust the aspect ratio of a thumbnail
item in the thumbnailview
For now 3:2 is default but can be manually changed in gwenviewrc
under [ThumbnailView], e.g.:
ThumbnailAspectRatio=1 for 1:1 or
ThumbnailAspectRatio=1.5 for 3:2 or
ThumbnailAspectRatio=1.33 for 4:3 or
ThumbnailAspectRatio=1.78 for 16:9, etc.
Implement removal support
Send word to selection clipboard on double click
Disable the current implementation of a digikam-nepomuk integration.
By information from the Nepomuk maintainer, the relevant API have been replaced.
Essentially, the current code is at best not functional, at worst polluting your Nepomuk db.
A new implementation needs to be written based on current APIs.
Make qml calculator applet look closer to the C++ one
Konqueror reports the open/close document events to activity manager daemon.
By knowing which window contains which documents and which one is in
focus, we can do the following:
- collect the statistics about visited pages. Further, this provides a
score for each document visited, that depends on the number of times it
was open, the time the user spent on that location, and the time passed
since the last visit.
- availability of a global/workspace applet that allows sharing the
current document via e-mail, social networks; bookmarking and rating the
link, or connecting it to the current activity. (advantage of this is a
unified UI for sharing/rating/linking that works with any
- jump-lists (not impl. yet in plasma) to list top rated documents on a
launcher icon or in the task manager applet
- krunner can sort the documents based on the score
- more things that I haven't thought of yet
There is no need to *use* ativities to have these benefits. Activities
just serve as manual data clustering to provide more useful scores
compared to the one-activity approach.
Port Dolphin from Nepomuk to Nepomuk2 according to the Nepomuk2Port mini guide on techbase - http://techbase.kde.org/Projects/Nepomuk/Nepomuk2Port
Store passwords in wallet when the "Remember password" checkbox is checked in
the authorization dialog.
Patch by Gordian Klein.
(cherry picked from commit 9c0021e98c0c6a808ffa82449d355a64ecef4552)
FileIndexer: Avoid using the OverwriteProperties flag in storeResources
OverwriteProperties results in an extra sparql query for each statement
that is being pushed.
We update the indexingLevel with an additional setProperty call.
Automatically overwrite banners in the kio:copy job if necessary
If the metadata extractor is run simultaniously it happens that the same banner is
downloaded severaltimes at once. When the file is then copied from the temp folder
to the destination an error message is thrown.
To handle this case, the file will now be overwrtten automatically.
This can be done safely, as it ill in fact be the same image anyway.
Remove C++ bits, rename to org.kde.desktop
The original containment is called "desktop", so we fix up the
namespacing with org.kde. C++ bits likely won't be needed, so remove
Use graph groups to filter out ontology results
Virtuoso has this concept of graph groups. We have added all the
ontology graphs + ontology metadata graphs + virtuoso data graph in this
All search results generated by the query engine do not contain results
from this graph. This is a much faster approach than the earlier user
visibility approach which would cause a huge performance bottleneck.
While the current approach is great. It still doesn't solve all our
problems. We still get graph results in the negated terms, and we STILL
get some ontology results in some queries. Probably a virtuoso bug.
NepomuKTags: Allow copy operations to any tag folder.
This would apply the appropriate tag the copies items.
Allow "telescoping" mappings i.e. ones that are substrings of other mappings e.g.
If the current set of keystrokes is a prefix of a mapping, then wait for the remaining keypresses that brings us up to that mapping. If that doesn't occur before the timeout occurs, choose the current mapping. Ensure that we don't hang around waiting for timeouts if the current mapping is unambiguous.
Accessors for lock screen and logout authorization
Basically forwards calls to KAuthorized, so we can find out wether or
not to show those actions in our QML-based UI.
qcalendarsystem: Make monthsInYear(), daysInMonth(), daysInYear(), and isLeapYear() non-virtual.
These need to stay in the private class, in order to provide a public version
that validates the arguments, and an internal that don't.
Add the support of gathering process information on OpenBSD
Thanks to Vadim Zhukov for providing the patch
Serve items from Akonadi if there's a temp error
For collections that have been detected with a temporary error
returns items from Akonadi when retrieveItems() is called on them.
This should address most issues with Google calendar (404 errors
(cherry picked from commit d56057728eec8d9f887f1808235176d1ed2c1330)
Move acl page to mailcommon. Not possible for the moment to move it in
kdepimlibs/akonadi. acl page depends against a lot of code and we can't
adapt it easily.
Will look at how to move it in kdepimlibs soon.
But for the moment it more easy to add this page in korganizer etc.
Disable revision check(conflict checking) if only flags were changed.
That is not very important and can be triggered relatively easily with reading mails while a filter is active.
For the bugs where I CC'd, please see if you can still reproduce it (the change affects
only when marking manually conflicted with marking the mail by a filter).
Use bigger size for windows with configurations and some text changes
Consider a HTTP 404 as a temporary error (which it really is)
"Rename" action in Project Navigator can be used to change object's caption
*Before renaming any object, close window containing it
*Renaming object updates its position on sorted list in Project Navigator
Make it possible to close the keyboard by tapping the empty areas of panels.
Add filter config page for gaussian blur
Implement Configure View for DockAreaPopup - configure and persist the set of Mixers you see in the DockAreaPopup
Amazon store: Support for Amazon MP3 in Italy and Spain
Checkout does not work yet, we need to be verified by Amazon first. That
should be a matter of a few days and does not require any changes in
So now we support: USA, Great Britain, France, Spain, Italy, Japan,
Germany, Austria and Switzerland
We might support Andorra, Vatican and Portugal too, with the new
locales. So if anyone living in those countries could test the store
(once the new ones have been verified by Amazon) it would be great.
I always wanted to hear some words from the pope about free software. ;-)
DIGEST: Support for Amazon MP3 in Spain and Italy
now, browse and view photos inside picasa's albums
Disable Configure Channels button for dynamic backends. Will later allow again, except for Pulseaudio (as doing it for Streams makes no sense)
[ #16349 ] Refector the canvas tip so the 'loader' tasks delegate to subclasses of 'tip' instead of hardcoding them (1/2)
>From now on, the loader class is dedicated to painting the tip on the canvas. The image loading is delegated to the Tip itself.
In the future, the tip will stop using SVG and have it's own painter and the 'loader' class will be renamed something else because
it wont load much anymore. This is required to implement multiple tips, animations and cpu-friendly compositing.
Add an action to, rather ironically, manually apply auto-replace.
Use case: Review and customize before send-out. Given this, the code
preserves the relative cursor position to ease editing; if the cursor
is inside a needle during action invocation it's moved to the end of
Fix maximum width of network name label
If the actual size differs from the preferred size (e.g. high-res displays),
the network name label is cut off in the middle. This patch calculates the
maximum available space and dynamically adjusts the label.
Clean up BSDBackend to fix tunnel status reporting
Thanks to Viktor Tsymbalyuk for help in testing this
More work on porting the Deb Installer.
Add 'User URLs' to script Network object, used to show to the user
- Eg. HAFAS providers no longer use HTML documents, opening the
data URL (eg. in XML) in the users browser isn't very helpful
- Scripts can now provide 'User URLs' with each URL they download,
the default user URL is simply the URL itself (just like before)
Own class to show stops in Marble, add to runner
- New class MarbleProcess, manages a Marble process
and sends DBus messages to show the stop in it
- MarbleProcess is available through libpublictransporthelper
- The runner uses it to show it's result stops in Marble
as run action
Greatly reduce memory consumption by using IndexedString in the BackgroundParser.
IndexedString::str or ::toUrl do not leverage implicit sharing (see recently
added unit test that shows that). Thus we end up duplicating the URLs in-memory
when we add all project files to the BackgroundParser.
Instead, we now leverage IndexedString which greatly reduces the memory consumption.
In my test with two big projects (QtWebKit and QtBase from Qt 5) I see a drop
of from about 815MB RSS down to about 550MB RSS.
Furthermore this new API is also faster as we can safe quite a few conversions
between KUrl and IndexedString. And the hasing of an IndexedString is also faster
compared to a KUrl. The TestBackgroundparser::benchmark shows a speed increase
of about 10%, i.e. ~1.9s vs ~2.1s.
NOTE: This commit breaks the API/ABI and is not source compatible. When you port
your code to this new API, I encourage you to review the callers. Most often
you do not want to use KUrl anyways but an IndexedString.
NOTE2: While writing this patch, I found a few more places where we could and should
change our API to use IndexedString instead of KUrl to decrease the number of
Delay releasing the compositor selection
When turning off the compositor do not release the compositor selection
directly but delay it through a timer. The idea is that the internal
change when e.g. restarting the compositor or switching from XRender to
OpenGL should not be visible to the outside world.
This hopefully makes restarting the compositor more robust in Plasma due
to the SelectionWatcher sometimes reporting incorrect results.
When restarting KWin the change does not matter as the selection gets
force claimed by the new instance anyway.
Storage: Create a type cache
This class, caches the types for a particular resource. This is
especially useful cause we often request the type multiple times when
performing the domain/range checks.
We currently only store the types of the last 20 resources.
get rid of the "Top" tab
it's extremely slow, not intuitive wording and the results have a lot of duplications
Limit the amout of simultaneous call to the metadata extractor
To save system resoruces the calles to the extarctor are limited (default is 3).
The amout can be changed via nepomukmetadataextractorrc file. All other calls will be saved in a queue list and exeuted one after another
as soon as the previous requests are finished.
Fetch Google contacts photos in batches to avoid reaching quota
The number of Google API requests per user per second is limited.
Fetching high amount of contact photos (usually at initial sync)
almost always hits the quota and so some contact photos are not
This commit queues the requests and sends them in batches. When we hit
the quota, the interval between batches is increased and the failed
requests are queued again.
Optimize ChangeRecorder to only update 8 bytes on disk when dequeuing.
Rather than saving the whole file (of pending notifications) every
time, just because the first item was dequeued. This reduces disk I/O
considerably, and speeds up processing (especially in the nepomuk
feeder). In the IMAP resource (when marking 2000 emails as read) I
couldn't time a difference since it's mostly network-based anyway.
But at least the disk is usable by other processes meanwhile ;)
Avoid superfluous akonadi roundtrips.
If nepomuk is not active, avoid also the direct nepomuk queries. Only
fetch all contacts from Akonadi once, if we have to do things manually.
Nepomuk queries now happens in a non GUI thread. Some optimizations to the way we generate thumbnails.
Improve DepartureModel update performance
- Less QHash lookups needed now
and less QList::indexOf()/contains() calls
- DepartureItem::updateChild() got a new argument "childIndex",
can be used if known to prevent a call to ChildItem::row()
kdevplatform needs kdelibs
Adapt to a change on KDevPlatform
Implemented the closeContext method in the DeclarationBuilder. Now, if
we're closing a MethodDeclaration, we'll call setInternalFunctionContext
to assign it the internal context manually.
Adapt to KDevplatform changes: Use IndexedString instead of KUrl in BackgroundParser.
Sven, you should probably test this as I couldn't compile the plugin.
Furthermore, you might want to refactor some code to store IndexedString
in e.g. m_unresolvedImports instead of KUrls.