Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:11.4:Update
MozillaFirefox.478
mozilla-libnotify.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mozilla-libnotify.patch of Package MozillaFirefox.478
# HG changeset patch # User Wolfgang Rosenauer <wr@rosenauer.org> # Parent c684863b1eb3bcae92ef24bc2ac511985b1ad7e4 Bug 737646 - no biff notification if notification-daemon not running diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp b/toolkit/system/gnome/nsAlertsIconListener.cpp --- a/toolkit/system/gnome/nsAlertsIconListener.cpp +++ b/toolkit/system/gnome/nsAlertsIconListener.cpp @@ -47,16 +47,17 @@ #include <gdk/gdk.h> // Compatibility macro for <libnotify-0.7 #ifndef NOTIFY_CHECK_VERSION #define NOTIFY_CHECK_VERSION(x,y,z) 0 #endif static bool gHasActions = false; +static bool gHasCaps = false; static void notify_action_cb(NotifyNotification *notification, gchar *action, gpointer user_data) { nsAlertsIconListener* alert = static_cast<nsAlertsIconListener*> (user_data); alert->SendCallback(); } @@ -338,27 +339,34 @@ nsAlertsIconListener::InitAlertAsync(con appShortName.AssignLiteral("Mozilla"); } if (!notify_init(appShortName.get())) return NS_ERROR_FAILURE; GList *server_caps = notify_get_server_caps(); if (server_caps) { + gHasCaps = true; for (GList* cap = server_caps; cap != NULL; cap = cap->next) { if (!strcmp((char*) cap->data, "actions")) { gHasActions = true; break; } } g_list_foreach(server_caps, (GFunc)g_free, NULL); g_list_free(server_caps); } } + if (!gHasCaps) { + // if notify_get_server_caps() failed above we need to assume + // there is no notification-server to display anything + return NS_ERROR_FAILURE; + } + if (!gHasActions && aAlertTextClickable) return NS_ERROR_FAILURE; // No good, fallback to XUL nsCOMPtr<nsIObserverService> obsServ = do_GetService("@mozilla.org/observer-service;1"); if (obsServ) obsServ->AddObserver(this, "quit-application", true);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor