public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Bug #494552: libnotify
@ 2014-02-09 15:28 Elias Diem
  2014-02-09 18:55 ` Tom Wijsman
  2014-02-10  6:47 ` Samuli Suominen
  0 siblings, 2 replies; 4+ messages in thread
From: Elias Diem @ 2014-02-09 15:28 UTC (permalink / raw
  To: gentoo-dev

Hi all

Is there any way I can help with fixing this bug?

https://bugs.gentoo.org/show_bug.cgi?id=494552

--
Greetings
Elias Diem




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] Bug #494552: libnotify
  2014-02-09 15:28 [gentoo-dev] Bug #494552: libnotify Elias Diem
@ 2014-02-09 18:55 ` Tom Wijsman
  2014-02-13 17:11   ` Elias Diem
  2014-02-10  6:47 ` Samuli Suominen
  1 sibling, 1 reply; 4+ messages in thread
From: Tom Wijsman @ 2014-02-09 18:55 UTC (permalink / raw
  To: lists; +Cc: gentoo-dev

On Sun, 9 Feb 2014 16:28:34 +0100
Elias Diem <lists@webconect.ch> wrote:

> Hi all
> 
> Is there any way I can help with fixing this bug?
> 
> https://bugs.gentoo.org/show_bug.cgi?id=494552
> 
> --
> Greetings
> Elias Diem

You can report this upstream at the GNOME Bugzilla; then make sure that
both bugs link to each other, such that they track each other.

If you know or learn how to code, you can take it a step further:

    === Sending the dbus notification (is OK!) ===

    The expiration time variable is made in
    https://git.gnome.org/browse/libnotify/tree/tools/notify-send.c?id=0.7.5#n135
    and it is set in
    https://git.gnome.org/browse/libnotify/tree/tools/notify-send.c?id=0.7.5#n146
    after which 'notify_notification_set_timeout' is called on an
    'notify' object in
    https://git.gnome.org/browse/libnotify/tree/tools/notify-send.c?id=0.7.5#n231
    which all seems fine.

    We need to look further at what the
    'notify_notification_set_timeout' implementation does at
    https://git.gnome.org/browse/libnotify/tree/libnotify/notification.c?id=0.7.5#n637
    which sets notification->priv->timeout which is then used in
    notify_notification_show in a dbus call at 
    https://git.gnome.org/browse/libnotify/tree/libnotify/notification.c?id=0.7.5#n596
    and the relevant '_notify_notification_get_timeout' below it
    seems fine too, which is used once in
    https://git.gnome.org/browse/libnotify/tree/libnotify/notify.c?id=0.7.5#n176
    but due to the lack of small functions and/or documentation it is
    unclear what it is trying to do here. But since this last bit is
    the uninit code I'm in doubt if that's where the fault would lie. 

    Before digging in that code I'd rather suggest we look at what the
    notification daemon does with the notification it receives through
    dbus and what it does with the received timeout parameter.

    === Receiving the dbus notification (is NOT OK, unused!) ===

    The expiration time variable is again made in
    https://git.gnome.org/browse/notification-daemon/tree/src/daemon.c?id=0.7.6#n183
    where it is received in
    https://git.gnome.org/browse/notification-daemon/tree/src/daemon.c?id=0.7.6#n192
    and then the notification is updated in
    https://git.gnome.org/browse/notification-daemon/tree/src/daemon.c?id=0.7.6#n218
    by calling
    https://git.gnome.org/browse/notification-daemon/tree/src/nd-notification.c?id=0.7.6#n153

    Now, as you read through the function; or rather, grep for the
    timeout variable you'll see that it is not set in the function;
    a possible fix might be to put notification->timeout = timeout;
    somewhere in the function. Though, when doing so; I'm in doubt if
    it is used at all. So, when we grep the log we get

    https://git.gnome.org/browse/notification-daemon/log/src?qt=grep&q=timeout

    where we can see they are using some kind of NotifyTimeout class to
    accomplish timeouts. It might be that the timeout parameter needs
    to passed into some class; but for these details, some reading up
    on the documentation of those classes as well as the implementation
    of this design needs to be done to understand what is going on or
    what is supposed to be going on.

Take home lesson: "How did this get released with an unused parameter?"

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : TomWij@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] Bug #494552: libnotify
  2014-02-09 15:28 [gentoo-dev] Bug #494552: libnotify Elias Diem
  2014-02-09 18:55 ` Tom Wijsman
@ 2014-02-10  6:47 ` Samuli Suominen
  1 sibling, 0 replies; 4+ messages in thread
From: Samuli Suominen @ 2014-02-10  6:47 UTC (permalink / raw
  To: gentoo-dev


On 09/02/14 17:28, Elias Diem wrote:
> Hi all
>
> Is there any way I can help with fixing this bug?

You can start by making the problem known, like in upstream mailing list
and bugzilla.

>
> https://bugs.gentoo.org/show_bug.cgi?id=494552
>
> --
> Greetings
> Elias Diem
>
>
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] Bug #494552: libnotify
  2014-02-09 18:55 ` Tom Wijsman
@ 2014-02-13 17:11   ` Elias Diem
  0 siblings, 0 replies; 4+ messages in thread
From: Elias Diem @ 2014-02-13 17:11 UTC (permalink / raw
  To: gentoo-dev

Hi there

On 2014-02-09,  Tom Wijsman wrote:

>     The expiration time variable is made in
>     https://git.gnome.org/browse/libnotify/tree/tools/notify-send.c?id=0.7.5#n135
>     and it is set in
>     https://git.gnome.org/browse/libnotify/tree/tools/notify-send.c?id=0.7.5#n146
>     after which 'notify_notification_set_timeout' is called on an
>     'notify' object in
>     https://git.gnome.org/browse/libnotify/tree/tools/notify-send.c?id=0.7.5#n231
>     which all seems fine.

But:

In the comment for 'notify_notification_set_timeout' there's 
this note that the timeout may be ignored by the server.

--
Elias




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-02-13 17:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-09 15:28 [gentoo-dev] Bug #494552: libnotify Elias Diem
2014-02-09 18:55 ` Tom Wijsman
2014-02-13 17:11   ` Elias Diem
2014-02-10  6:47 ` Samuli Suominen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox