Bug 313440 - Notifications are shown multiple times
Summary: Notifications are shown multiple times
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: notifications (show other bugs)
Version: 4.9.97 RC2
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Marco Martin
URL:
Keywords:
: 313436 (view as bug list)
Depends on:
Blocks: 313436
  Show dependency treegraph
 
Reported: 2013-01-18 09:58 UTC by FabiB
Modified: 2013-07-18 13:34 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description FabiB 2013-01-18 09:58:54 UTC
Really dont know why this happens only with amarok, so the amarok bugreport is here: https://bugs.kde.org/show_bug.cgi?id=313436

since 4.10 on the most trackchanges it happens that the new track is shown multible times but only with the plasma notificationpopup and as far as i had tested only with amarok

video whats happens: http://youtu.be/1ov0n2DAkiY

Reproducible: Sometimes

Steps to Reproduce:
1. open amarok and play a song
2. when the notificationpopup pops up, change the track 
Actual Results:  
the notification for the new track is shown 3-7times


output between old ans new track

plasma-desktop(9155)/plasma PlayerContainer::updateFromMap: Disabling stop action
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
file:///usr/lib/kde4/imports/org/kde/plasma/components/ListItem.qml:92: TypeError: Result of expression 'listItem.ListView.view' [null] is not an object.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
file:///usr/lib/kde4/imports/org/kde/plasma/components/ListItem.qml:92: TypeError: Result of expression 'listItem.ListView.view' [null] is not an object.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
file:///usr/lib/kde4/imports/org/kde/plasma/components/ListItem.qml:92: TypeError: Result of expression 'listItem.ListView.view' [null] is not an object.
plasma-desktop(9155)/plasma PlayerContainer::updateFromMap: Enabling stop action
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
file:///usr/share/kde4/apps/plasma/plasmoids/org.kde.notifications/contents/ui/main.qml:139:9: QML Flickable: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:190:21: QML TextEdit: Possible anchor loop detected on fill.
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
plasmapackage:/ui/NotificationDelegate/NotificationDelegate.qml:144:13: QML Item: Binding loop detected for property "height"
file:///usr/lib/kde4/imports/org/kde/plasma/components/ListItem.qml:92: TypeError: Result of expression 'listItem.ListView.view' [null] is not an object.
Comment 1 Artem 2013-02-08 14:25:06 UTC
I've got the same problem with the stable 4.10.

In my case, however, I see double notifications from any app. Even when simple notify-send is used.
Here is the result of a simple "notify-send test" : http://i.imgur.com/IdIORXP.png
Comment 2 Artem 2013-02-08 15:13:42 UTC
UPD: the bug is no more after "rm ~/.kde4/share/config/plasma* "
Comment 3 FabiB 2013-02-09 12:28:37 UTC
(In reply to comment #2)
> UPD: the bug is no more after "rm ~/.kde4/share/config/plasma* "
Dont work here. even with a fresh installation and new $HOME it happens :(
Comment 4 Woodsman 2013-03-26 22:28:32 UTC
I confirm this behavior with 4.10.1, Slackware 14.

* Start the rwall daemon.
* Enable the kded write daemon.
* From a terminal, send the following:

echo Hello | rwall localhost

I will receive anywhere from 2 to 18 messages and bells.
Comment 5 Matěj Laitl 2013-04-04 21:35:51 UTC
*** Bug 313436 has been marked as a duplicate of this bug. ***
Comment 6 Matěj Laitl 2013-04-04 21:40:21 UTC
This must be a bug in newly rewritten QML notification Plasma applet. This is the relevant method in Amarok (simplified). m_notify is QWeakPointer<KNotification> and is not touched anywhere else:

void
KNotificationBackend::showCurrentTrack( bool force )
{
    const QString title = i18n( "Now playing" );
    const QString text = engine->prettyNowPlaying();
    const QPixmap pixmap = album ? The::svgHandler()->imageWithBorder( album, 80 ) : QPixmap();

    KNotification *notify = m_notify.data();
    if( !notify )
        notify = new KNotification( "trackChange" );
    notify->setTitle( title );
    notify->setText( text );
    notify->setPixmap( pixmap );

    if( m_notify ) // existing notification already shown
        notify->update();
    notify->sendEvent(); // (re)start timeout in both cases
    m_notify = notify;
}

Notice that m_notify is reused if it still exists (showCurrentTrack() can be called a couple of time in succestion) and ::update() is called in it if it existed before.
Comment 7 Cédric Bellegarde 2013-07-02 09:02:27 UTC
Amarok send multiple notification over dbus, see:
http://quickgit.kde.org/?p=colibri.git&a=commit&h=9a96b9512579215bcddd8fc88041fdd7130dbb0f
Comment 8 Cédric Bellegarde 2013-07-11 09:38:12 UTC
Here a patch fixing issue:

https://git.reviewboard.kde.org/r/111480/
Comment 9 Cédric Bellegarde 2013-07-16 12:00:48 UTC
Fixed in master and KDE/4.11
Comment 10 Christophe Marin 2013-07-16 17:35:47 UTC
Marking as fixed then
Comment 11 Andre Woebbeking 2013-07-17 19:09:05 UTC
Even with this patch I get still every notification (e. g. from kmail or konversation) twice, similar to the above IdIORXP.png (one next to the tray icon and the other 400 pixels higher.

Could this be caused by a broken config file?
Comment 12 Cédric Bellegarde 2013-07-18 13:34:22 UTC
I don't think it's related to this bug, kmail and konversation do not send multiple notifications... Can you test with a fresh user?