Issue 290
2nd June 2013 by KDE Commit-Digest TeamContributors
This Week...
Statistics
Commits | 1556 by 155 developers |
Open Bugs | 21365 |
Open Wishes | 15816 |
Bugs Opened | 283 in the last 7 days |
Bugs Closed | 491 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
166
|
/branches/stable |
69
|
/trunk/l10n-support |
69
|
/server/lib |
23
|
/trunk/www |
22
|
/server/test |
19
|
/doc/index.docbook |
19
|
/trunk/KDE |
18
|
/ksieveui/autocreatescripts |
16
|
/plasma/generic |
14
|
Files | Developer | Commits |
450
|
Laurent Montel |
165
|
180
|
Aaron J. Seigo |
60
|
111
|
Jan Kundrát |
42
|
111
|
Burkhard Lück |
41
|
111
|
Patrick Spendrin |
37
|
108
|
Ralf Habacker |
36
|
102
|
Yuri Chornoivan |
34
|
96
|
Gilles Caulier |
32
|
78
|
Christophe Giboudeaux |
29
|
87
|
Zack Rusin |
29
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
100%
|
Ukrainian (uk) |
100%
|
Swedish (sv) |
99%
|
Spanish (es) |
97%
|
Dutch (nl) |
97%
|
Polish (pl) |
97%
|
French (fr) |
96%
|
Estonian (et) |
96%
|
German (de) |
96%
|
Italian (it) |
92%
|
Bug Killers
Person | Bugs Closed |
Martin Gräßlin |
211
|
Jekyll Wu |
22
|
Patrick Spendrin |
18
|
Michael Bohlender |
16
|
Vishesh Handa |
13
|
Laurent Montel |
13
|
Myriam Schweingruber |
11
|
Anne-Marie Mahfouf |
10
|
Gilles Caulier |
9
|
Aleix Pol Gonzalez |
9
|
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 64 selections this week
Bug Fixes
Development Tools
Fixed crash on adding sequence diagram messages by breaking recursive inheritance loops.
Thanks to Martin Briza for pointing to this bug.
Enable guard against resursive inheritance loops to self.
Fixed synchronous message painting artifacts.
Fixed painting problem caused by displayed resizable corner of creation/lost/found messages,
which partially exceeds bounding rect.
Creation/lost and found messages are not resizable, so displaying resize corner makes no sense.
Fixed bug: Resizing synchronous message moves its position.
FIXED-IN:4.10.4
Fixed painting artifacts when creation message lenght is below arrow width.
This is done by do not drawing arrow when message length is below arrow width.
Educational
Lens removal works correctly in Define Equipment.
Graphics
Don't try creating thumbnails for images not on disk.
This prevents the AsyncLoader (-> thumbnailViewer), and the automatic
search for videos without valid length/thumbnails from spawning
thumbnail jobs for images/videos that are not currently on disk.
handle properly thumbbar visibility state when go/back to fullscreen an switch between icon-view and preview modes.
This include AlbumGUI and ImportUI
Run without video thumbnail/length support when mplayer is missing.
When mplayer is missing, just show a messagebox advising the user to
install mplayer instead of bailing out.
When mplayer is not available, also don't spawn video-related background
jobs.
Do compressed checks based on mime inheritance
Instead of using a hardcoded map
FIXED-IN: 4.10.4
Work-around for failure to update images after rotation
REVIEW: 110730
FIXED-IN: 4.10.4
KDE Base
Bug 196035 - middle clicking on archive files in dolphin does not open them in a new tab
When 'browse through archives' is enabled, open archive files
like folders on middle clicking, context menu -> new tab action
and context menu -> new window action.
REVIEW: 110487
KEditTagsDialog: Avoid using QDialog::exec
QDialog::exec runs an event loop at waits for the dialog to be closed.
Running another event loop is generally not recommended cause it can
result in *other* events being process which one might not want.
In this particular case the ResourceLoader, which runs in another
thread, would emit the finished signal would result in the
FileMetadataWidget deleting all its previous content, which would
delete the TagWidget and its children aka the KEditTagsDialog => CRASH
Instead we now set the windowModality and use QDialog::open, which
returns immediately and then connect to the finished signal.
Backported from nepomuk-widgets 2080bc1d4fe7c249c28930b18f03741c53025b13
Dolphin Search: Do not use Nepomuk for hidden folders
Nepomuk does not index hidden folders
REVIEW: 110697
FIXED-IN: 4.11.0
KDE-PIM
Fix Bug 320072 - KMail crash: pressing enter in emtied header input field
(it tried to remove line -1 => crash)
FIXED-IN: 4.10.4
Fix a segfault when going back from the "one at a time" layout and other related bugs
Thanks to Brian Jackson (iggy on IRC) for a bugreport.
REVIEW: 110736
Fix segfault due to deleted pruneTree call
Commit faea6a3132fe78fd25e84e7adeeb3edddb89b46b changed the behavior, some of
the messages still in the tree might now have a null pointer to the original
TreeItemMessage. I've hit this assert myself when switching mailboxes (but only
after a couple days).
REVIEW: 110675
Fix Bug 320111 - kmail composer does not include mail signature when using an external editor
FIXED-IN: 4.10.4
Fix Bug 320454 - [kde-windows] ktnef lacks icon in the start menu (no kde4_add_app_icon command in the build system)
FIXED-IN: 4.10.4
Office
Fixed the wrong implementation of clipboard brush popup blocking
Major fixes for the Krita filtering system
Now there is no preview mask thing. All the preview is generated
by the strokes system is absolutely the same way as it is done
for real filtering. This effectively fixes two things:
1) Filter preview for masks
2) Fixes a crash when pressing OK while the preview update is running
The patch also removes the KisFilterHandler thing, because it made
switching filters in the filter dialog fail (you could switch them,
by it didn't have any effect). Now its work is done by a simple
QSignalMapper.
fix KoXmlReader to break on error instead of trying on and on
REVIEW: 110719
thanks boemann for review
Networking Tools
Remove alt tag from images inserted with ImageFilter
This alt tag never actually showed up (not sure why).
Removing this means the emoticon -> text swapping no longer occurs so images
remain after clicked
REVIEW: 110717
Fix loading/saving transport mode in Infiniband widget
Add Top Level group to Kopete::ContactList::self()->groups() and show it in Add contact dialog
FIXED-IN: 4.11
Wrap Edit account dialog into QPointer
* Edit account dialog using KDialog::exec() function which can lead to memory corruption and double free
* After this change Jabber edit account dialog stopped crashing when applying changes
FIXED-IN: 4.11
Utilities
When CUPS starts or stops serverAudit is emitted on DBus,
so update the models, the UI and show appropriate error
message on the KCM and plasmoid if an error like not
being able to reach the server is set.
Features
Development Tools
Let the project item delegate draw the display text
QItemDelegate::displayText insists in painting the background and it doesn't
use the style for painting it, so we are just painting the text ourselves
now.
Educational
Make it possible to remove variables
Only in case there's no other variables that depend on this one.
Graphics
Improve sharpness for downscaled jpeg images
REVIEW: 110743
FIXED-IN: 4.11.0
Add a face recognizer based on OpenCV Local Binary Pattern Histograms.
Recognition rate without further optimization on the ORL database: 88.5%.
Thanks a lot to Philipp Wagner for all his work bringing this to free software.
KDE Base
Improve MediaWiki highlighting
The patch provides the following improvements over the current MediaWiki syntax highlighting file:
- Highlight # within wiki links.
- Make templates syntax highlighting work within links.
- Allow tables within tables.
- Highlight the content between "source" or "syntaxhighlight" XML tags the same as within "pre" XML tags (in the future, this can be extended to support syntax highlighting of other languages within these tags).
- Proper highlighting for definition list.
Thanks to Adrián Chaves Fernández for the patch.
FIXED-IN: 4.11
Translucency effect rewritten in JavaScript
Supported Features:
* move/resize
* active/inactive
* special window type
* window decoration as missing in AnimationEffect
The animations are cancelled when they go into an invisible state (e.g.
desktop changed, minimized) and are set again when the window becomes
visible.
Where a transition is useful, the window gets animated, e.g. start/finish
of move resize.
FIXED-IN: 4.11
REVIEW: 110747
Show new applications in a seperate submenu named "Recently Installed" (for 3 days).
Patch by Wolfgang Bauer.
This patch makes kickoff remember all the .desktop files it sees (in kickoffrc).
The seen entries are saved as "id=date" pairs in the "Seen Applications" group.
Entries older than 3 days get their date set to empty, which means "don't show this entry anymore".
Also if there have no entries been saved yet, the date of all found entries is
set to empty as well. This prevents that all menu entries are shown in the
"Recently Installed" submenu on first start.
The "Recently Installed" submenu can be toggled on and off in the plasmoid's settings.
Helper effect for KScreen integration
This effect is controlled by KScreen. It fades out all windows when
KScreen requests this and gives feedback to KScreen once all windows are
faded out. This allows KScreen to adjust the screens in a flicker free
way.
REVIEW: 110661
FIXED-IN: 4.11
Office2007Extractor: Only add pageCount and wordCount for documents
The ontologies do not support it for presentations and spreadsheets
Add insert query placeholder button to search provider dialog
Add a 'Insert query placeholder' button to the add/modify web shortcut
dialog. Clicking this button inserts \{@} in the shortcut URL lineEdit.
This makes it easy to add new web shortcuts.
Users don't have to remember and type the query placeholder.
FIXED-IN: 4.11
REVIEW: 110423
GUI: Button added to the add web shortcuts dialog.
KDE-PIM
GUI: disable the wide mode on small screens
Suggested by Thomas Lübking.
Create and cache the contact groups
Earlier, if a group contained more than one contact then it the contact
group was created that many times cause a new SimpleResource was created
each time.
With this method we cache the contact groups so that they are only
created once, and once they have been created we do not unnecessarily
send a new SimpleResource to get merged into the existing contact group.
REVIEW: 110739
it's a good idea to store preview in theme zip too
Merge branch 'very-compact-layout'
Conflicts:
src/Common/SettingsNames.cpp
src/Gui/Window.cpp
src/Gui/Window.h
REVIEW: 110653
fixes #40
fixes #564
GUI: enable sizes and positions of various widgets
Fully separate settings are maintained for the wide and compact layout modes.
Nothing is saved/restored when in the one-at-time mode.
Merge branch 'persistent_chats'
REVIEW: 110683
Office
Ignore default styles in styleApplied.
DockerStylesComboModel::styleApplied may be called with the default
paragraph style as argument.
The function assumes that the source model can provide an index for the
supplied style (see the calls to indexForCharacterStyle). But the source
model explicitly avoids adding items for the default styles, so these
calls will return an invalid index, which results in a -1 being added as
a row to m_usedStyles. In the next call to styleApplied, this will
result in an invalid internalId being used to try to get the
corresponding style from the style manager. The invalid style pointer is
then used, resulting in the crash described in the bug.
This fix turns DockerStylesComboModel::styleApplied into a no-op if the
supplied style is either the default character style or the default
paragraph styles, since there will never be any items for these in the
source model.
REVIEW: 110506
Allow changing operation date through "Search & Process"
Ported filter application to the strokes system
Some of the filters can now be applied to the masks. Now there is
a small TODO:
1) Remove old filter threading code
2) Refactor KisFilterDialog not to create preview masks for masks
feature: The restore file is now base on KMessageWidget
Multimedia
TrackLoader, PlaylistController: support for treating remote playlists as streams
...and use it in MainWindow::slotAddStream().
TODO: use this also for the "remote playlists are streams" hackery for
scripted services, at much more appropriate place than
PlaylistController::insertionHelper()
Add OpenGL analyzers, and make analyzers configurable (right-click).
I've ported two OpenGL analyzers from Amarok 1.x. One of them shows
a whirly background, with disco lights in front (named "Disco"). The
second one shows something like bouncing balls between two walls
(named "Balls").
One of the main advantages of using OpenGL instead of QPainter is the
significantly lower CPU load, if you have anything resembling a GPU in
your computer.
I've also made the height of the widget configurable in 3 different
sizes.
NOTE: The Balls Analyzer looks somewhat broken. I'll fix that.
Playlist sort widget: reimplement Shuffle "sort" as an action.
Remove now-unnecessary Shuffle handlers in sort-related functions.
Additionally, PlaylistController::moveRows() has been modified to help
with big move actions (validation complexity reduced).
Playlist::BreadcrumbItemMenu introduced to deduplicate logic between
Playlist::BreadcrumbItem and Playlist::BreadcrumbAddMenuButton.
GUI: In the playlist sort widget, the Shuffle menu entry is now
separated from other entries. Activating the entry no longer results in
a "Shuffle" sort level being added.
FIXED-IN: 2.8
REVIEW: 110658
Networking Tools
allow configuring band/channel for adhoc wifi mode
feature: https://trello.com/c/2YK4MrbH
Other
Merge branch 'stats'
Conflicts:
server/lib/db/stats.js
introduce optional anonymous browsing support
later we will want to make it possible to override this per-store
implementation of stores/list
this lists all stores associated with the person. re-uses the return
used for new store creation, which now always returns an array of store info
Optimization
Development Tools
Avoid painting artifacts by disabling resize corner for non resizable asynchronous messages too.
Graphics
Use cached QImage instead of invoking KIcon::pixmap on broken files
KIcon is a cool class which can e.g. find the best available pixmap size based
on each request. However, its operations are rather expensive -- to the extent
that when I have most of my 63k images not available due to an unmounted NFS
share, KPA eats all CPU on this machine. This is how a backtrace from one thread
looked like:
#0 QByteArray::resize (this=0x7fffffffbdf0, size=<optimized out>) at tools/qbytearray.cpp:1433
#1 0x00007ffff326780a in QUtf8::convertFromUnicode (uc=<optimized out>, len=<optimized out>, state=0x0) at codecs/qutfcodec.cpp:143
#2 0x00007ffff3267985 in QUtf8Codec::convertFromUnicode (this=<optimized out>, uc=<optimized out>, len=<optimized out>, state=<optimized out>) at codecs/qutfcodec.cpp:522
#3 0x00007ffff326287b in QTextCodec::fromUnicode (this=<optimized out>, str=...) at codecs/qtextcodec.cpp:1375
#4 0x00007ffff3151b49 in QString::toLocal8Bit (this=0x7fffffffbe10) at tools/qstring.cpp:3767
#5 0x00007ffff319b71d in locale_encode (f=...) at io/qfile.cpp:72
#6 0x00007ffff319bd0e in QFile::encodeName (fileName=...) at io/qfile.cpp:515
#7 0x00007ffff4fbf4d1 in access (mode=4, path=...) at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdecore/util/kde_file.h:181
#8 KIconThemeDir::iconPath (this=<optimized out>, name=...) at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kicontheme.cpp:707
#9 0x00007ffff4fbf6f2 in KIconTheme::iconPath (this=0x555555b3f7a0, name=..., size=112, match=KIconLoader::MatchBest)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kicontheme.cpp:492
#10 0x00007ffff4fb8fc8 in KIconLoaderPrivate::findMatchingIcon (this=<optimized out>, name=..., size=112)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconloader.cpp:1032
#11 0x00007ffff4fba458 in KIconLoaderPrivate::findMatchingIconWithGenericFallbacks (this=0x555555add130, name=..., size=112)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconloader.cpp:899
#12 0x00007ffff4fbb7ae in KIconLoader::loadIcon (this=0x555555b9d6f0, _name=..., group=KIconLoader::Desktop, size=112, state=0, overlays=..., path_store=0x0, canReturnNull=false)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconloader.cpp:1253
#13 0x00007ffff4fb22c0 in KIconEngine::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>)
at /var/tmp/portage/kde-base/kdelibs-4.9.5/work/kdelibs-4.9.5/kdeui/icons/kiconengine.cpp:104
#14 0x00007ffff4269ad9 in QIcon::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>) at image/qicon.cpp:684
#15 0x00005555556b2f8c in ImageManager::AsyncLoader::customEvent (this=0x55555cae9830, ev=0x7fffcc00bcd0) at /home/jkt/work/prog/kde/kphotoalbum/ImageManager/AsyncLoader.cpp:161
I have not profiled the application using callgrind this time -- the backtrace
looked suspicious enough. Instead, this patch simply prepares a single QImage in
advance and reuses it whenever a request for a broken image is made.
The updated version (v2) of the patch checks whether the previously used image
has a correct size, and if not, goes the slow KIcon path again. To me, this
smells like little bit too much work with a lock being held, but so be it.
REVIEW: 110651
KDE Base
kwin: Optimize shadow quad selection
Loop over the window quad list once instead of eight times when
selecting the shadow quads.
Directly connect to virtuoso for reads instead of going through the Storage Service
The Nepomuk Storage service no longer starts a local socket. All
communications now happen directly via ODBC to virtuoso. This results in
a 6-8x performance improvement.
We need to find a proper way of communicating the port number to connect
to and not use this hack, but otherwise this patch results in massive
performance improvements.
Writes still happen through the dbus interface.
Networking Tools
[ #22056 ] Port internal time handling from QDateTime to time_t
46% of the load time was spent converting time to string to time_t ot QDateTime or vice versa. 95% of this can be avoided quite easily, so I will. While not very nice from a C++ point of view, a 46% bottleneck is just too bad to ignore.
Other
make update runs smoother
previously it was shift()ing the array passed in, leading to the first
item in the array being chopped which meant the first update was never
stored in updates/completed.
shift() was also returning an array object. needed to toString() it so
that we would have a string and a reliable check for .sql/.plsql endings
Other
Graphics
factoring everywhere Genreal config group used to store main windows settings in RC file
Ensure that full screen settings is loaded at initialization of AlbumGUI.
CC
CC
CC
KDE-PIM
Decouple attachment download from the lifetime of the enclosing GUI widget
Previously, the downlaod would get interrupted when the user switched to another
message -- and that would be rather counterintuitive.
REVIEW: 110681
Games
Make the network dialog a bit more beatiful
Acked by Roney
REVIEW: 110703