Bug 7126 - (int-151586) Notification messages not displayed when optional "category" not set
(int-151586)
: Notification messages not displayed when optional "category" not set
Status: RESOLVED FIXED
Product: Desktop platform
Home
: 5.0/(1.2009.42-11)
: N900 Maemo
: Low normal with 1 vote (vote)
: 5.0/(10.2010.19-1)
Assigned To: unassigned
: home-bugs
:
:
:
:
  Show dependency tree
 
Reported: 2009-12-18 23:17 UTC by Artem Prilutskiy
Modified: 2010-03-15 20:54 UTC (History)
1 user (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Artem Prilutskiy (reporter) 2009-12-18 23:17:26 UTC
SOFTWARE VERSION:
5.0/1.2009.42-11

EXACT STEPS LEADING TO PROBLEM: 
1. Application calls org.freedesktop.Notifications.Notify on D-BUS without
defined  'category' hint.

EXPECTED OUTCOME:
Desktop application shows sended notification message.

ACTUAL OUTCOME:
Desktop application doesn't show sended notification message.
After first call all desktop widgets removes from screen permanently,
After severeal calls the device goes to reboot.

REPRODUCIBILITY:
always

EXTRA SOFTWARE INSTALLED:
Actual C++ packages including gtkmm, libhildonmm, gconfmm, hildon-notifymm

OTHER COMMENTS:
Problem not happens when optional 'category' hint defined. (
http://www.galago-project.org/specs/notification/0.9/x408.html#command-notify )

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-GB;
rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Comment 1 Andre Klapper maemo.org 2009-12-20 14:55:29 UTC
Thanks for reporting this.

Can you provide steps to reproduce this, so I can try too?
Also, how did you find out?
Comment 2 Artem Prilutskiy (reporter) 2009-12-20 17:01:36 UTC
(In reply to comment #1)
> Thanks for reporting this.
> 
> Can you provide steps to reproduce this, so I can try too?
> Also, how did you find out?
> 

Hi!

I wrote this code:

Glib::RefPtr<Hildon::Notification> notification =
Hildon::Notification::create("Test", "Test", Gtk::Stock::INFO);
std::auto_ptr<Glib::Error> error;
notification->show(error);

The result of execution is the situation that I reported.

After that I start to search what the difference between working system
notifications (missed calls for example) and mine:

Nokia-N900-42-11:~# dbus-monitor
interface=org.freedesktop.Notifications,member=Notify
signal sender=org.freedesktop.DBus -> dest=:1.453 serial=2
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.453"
method call sender=:1.143 -> dest=org.freedesktop.Notifications serial=3760
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=Notify
   string ""
   uint32 0
   string "general_missed"
   string "+79036810073"
   string ""
   array [
   ]
   array [
      dict entry(
         string "urgency"
         variant             byte 1
      )
      dict entry(
         string "category"
         variant             string "missed-call"
      )
      dict entry(
         string "persistent"
         variant             byte 1
      )
   ]
   int32 -1
method call sender=:1.454 -> dest=org.freedesktop.Notifications serial=10
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=Notify
   string "Test"
   uint32 0
   string "gtk-info"
   string "Test"
   string "Test"
   array [
   ]
   array [
      dict entry(
         string "persistent"
         variant             byte 0
      )
   ]
   int32 -1

There was only one key difference - my code doesn't generate 'category' hint.
After that I'd found original D-BUS's specifications for notifications (
http://www.galago-project.org/specs/notification/0.9/x408.html#command-notify )
to check this parameters for optionality.

After that I added 'category' hint to my code:

Glib::RefPtr<Hildon::Notification> notification =
Hildon::Notification::create("Test", "Test", Gtk::Stock::INFO,
"some-category");
std::auto_ptr<Glib::Error> error;
notification->show(error);

And checked the result:

Nokia-N900-42-11:~# dbus-monitor
interface=org.freedesktop.Notifications,member=Notify
method call sender=:1.454 -> dest=org.freedesktop.Notifications serial=10
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=Notify
   string "Test"
   uint32 0
   string "gtk-info"
   string "Test"
   string "Test"
   array [
   ]
   array [
      dict entry(
         string "category"
         variant             string "some-category"
      )
      dict entry(
         string "persistent"
         variant             byte 0
      )
   ]
   int32 -1

So the test was passed and the bug was found.
Comment 3 Andre Klapper maemo.org 2009-12-21 22:37:30 UTC
Thanks!
Comment 4 Andre Klapper maemo.org 2010-01-12 18:14:11 UTC
This works fine in the internal version 2010.01-6, hence assuming that this has
been internally fixed in the meantime. A public update will be available in the
future.
Comment 5 Andre Klapper maemo.org 2010-03-15 20:54:16 UTC
Setting explicit PR1.2 milestone (so it's clearer in which public release the
fix will be available to users).

Sorry for the bugmail noise (you can filter on this message).