After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 690353 - Notification icons appear all-black
Notification icons appear all-black
Status: RESOLVED FIXED
Product: gnome-panel
Classification: Other
Component: notification area
3.6.x
Other Linux
: Normal normal
: ---
Assigned To: Panel Maintainers
Panel Maintainers
: 687314 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-12-17 15:07 UTC by Daniel Drake
Modified: 2013-02-11 22:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.37 KB, patch)
2012-12-17 15:07 UTC, Daniel Drake
reviewed Details | Review
updated patch (1.49 KB, patch)
2013-01-17 23:43 UTC, Daniel Drake
committed Details | Review

Description Daniel Drake 2012-12-17 15:07:26 UTC
Created attachment 231724 [details] [review]
patch

Running gnome-panel-3.6.2 and gtk3-3.6.2 on Fedora 18, some notification icons (battery, bluetooth) appear all-black, on an all black background, i.e. you can't see them. Reproduced on different models of the OLPC XO and also on my regular dell laptop.

Stepping into the code shows that the style specified by the notification area protocol is not being applied. The attached patch fixes it.
Comment 1 Vincent Untz 2013-01-08 08:46:48 UTC
Review of attachment 231724 [details] [review]:

Interesting. I'm wondering why it was working before. Maybe the style was updated after a realize before? Do you have any idea?

::: applets/notification_area/main.c
@@ +82,3 @@
   gtk_container_add (GTK_CONTAINER (widget), GTK_WIDGET (applet->priv->tray));
   gtk_widget_show (GTK_WIDGET (applet->priv->tray));
+  na_tray_applet_style_updated (widget);

Maybe move this before the gtk_widget_show(), to avoid changing the style after showing things?
Comment 2 Daniel Drake 2013-01-17 23:43:03 UTC
Created attachment 233705 [details] [review]
updated patch

I inserted some printf messages in the applet to investigate the behaviour change.

On F17 where this worked, the sequence of events was:

1. na_tray_applet_style_updated() called
2. Enter na_tray_applet_realize()
3. na_tray_applet_style_updated() called again
4. na_tray_applet_realize() calls gtk_widget_show
5. na_tray_applet_realize() returns
6. na_tray_applet_style_updated() is invoked 4 more times

On F18 where it is broken, it is:

1. na_tray_applet_style_updated() called
2. Enter na_tray_applet_realize()
3. na_tray_applet_style_updated() called again
4. na_tray_applet_realize() calls gtk_widget_show
5. na_tray_applet_realize() returns

I'm not sure exactly what is responsible for this change, after a quick google search I suspect this as the most likely candidate: https://mail.gnome.org/archives/commits-list/2012-January/msg03124.html

Here is an updated patch with the ordering change you suggested. I've tested it - the bug is fixed as before.
Comment 3 Vincent Untz 2013-01-18 07:57:43 UTC
Thanks for the investigation. Patch committed!
Comment 4 Balló György 2013-02-11 22:04:45 UTC
*** Bug 687314 has been marked as a duplicate of this bug. ***