gnome-settings-daemon r804 - in trunk: . plugins/a11y-keyboard
- From: jensg svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-settings-daemon r804 - in trunk: . plugins/a11y-keyboard
- Date: Fri, 27 Mar 2009 21:32:02 +0000 (UTC)
Author: jensg
Date: Fri Mar 27 21:32:02 2009
New Revision: 804
URL: http://svn.gnome.org/viewvc/gnome-settings-daemon?rev=804&view=rev
Log:
2009-03-27 Jens Granseuer <jensgr gmx net>
* plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c:
(on_notification_closed), (on_slow_keys_action),
(on_sticky_keys_action), (ax_slowkeys_warning_post_bubble),
(ax_stickykeys_warning_post_bubble),
(gsd_a11y_keyboard_manager_stop): fix crash when closing the a11y
notification bubble caused by incompatible changes in libnotify API
(bug #576535). Also remove workarounds for bugs in libnotify < 0.4.4
Modified:
trunk/ChangeLog
trunk/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
Modified: trunk/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
==============================================================================
--- trunk/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c (original)
+++ trunk/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c Fri Mar 27 21:32:02 2009
@@ -445,10 +445,9 @@
#ifdef HAVE_LIBNOTIFY
static void
on_notification_closed (NotifyNotification *notification,
- int reason,
GsdA11yKeyboardManager *manager)
{
- /* seems to crash if we unref */
+ g_object_unref (manager->priv->notification);
manager->priv->notification = NULL;
}
@@ -474,10 +473,7 @@
response_id, XkbSlowKeysMask,
manager->priv->slowkeys_shortcut_val);
if (res) {
- g_signal_handlers_disconnect_by_func (manager->priv->notification, on_notification_closed, manager);
notify_notification_close (manager->priv->notification, NULL);
- g_object_unref (manager->priv->notification);
- manager->priv->notification = NULL;
}
}
@@ -503,10 +499,7 @@
response_id, XkbStickyKeysMask,
manager->priv->stickykeys_shortcut_val);
if (res) {
- g_signal_handlers_disconnect_by_func (manager->priv->notification, on_notification_closed, manager);
notify_notification_close (manager->priv->notification, NULL);
- g_object_unref (manager->priv->notification);
- manager->priv->notification = NULL;
}
}
@@ -537,10 +530,7 @@
}
if (manager->priv->notification != NULL) {
- g_signal_handlers_disconnect_by_func (manager->priv->notification, on_notification_closed, manager);
notify_notification_close (manager->priv->notification, NULL);
- g_object_unref (manager->priv->notification);
- manager->priv->notification = NULL;
}
gsd_a11y_keyboard_manager_ensure_status_icon (manager);
@@ -574,10 +564,7 @@
if (! res) {
g_warning ("GsdA11yKeyboardManager: unable to show notification: %s", error->message);
g_error_free (error);
- g_signal_handlers_disconnect_by_func (manager->priv->notification, on_notification_closed, manager);
notify_notification_close (manager->priv->notification, NULL);
- g_object_unref (manager->priv->notification);
- manager->priv->notification = NULL;
}
return res;
@@ -682,10 +669,7 @@
}
if (manager->priv->notification != NULL) {
- g_signal_handlers_disconnect_by_func (manager->priv->notification, on_notification_closed, manager);
notify_notification_close (manager->priv->notification, NULL);
- g_object_unref (manager->priv->notification);
- manager->priv->notification = NULL;
}
gsd_a11y_keyboard_manager_ensure_status_icon (manager);
@@ -719,10 +703,7 @@
if (! res) {
g_warning ("GsdA11yKeyboardManager: unable to show notification: %s", error->message);
g_error_free (error);
- g_signal_handlers_disconnect_by_func (manager->priv->notification, on_notification_closed, manager);
notify_notification_close (manager->priv->notification, NULL);
- g_object_unref (manager->priv->notification);
- manager->priv->notification = NULL;
}
return res;
@@ -1091,8 +1072,8 @@
g_debug ("Stopping a11y_keyboard manager");
- if (manager->priv->status_icon)
- gtk_status_icon_set_visible (manager->priv->status_icon, FALSE);
+ if (p->status_icon)
+ gtk_status_icon_set_visible (p->status_icon, FALSE);
if (p->gconf_notify != 0) {
GConfClient *client = gconf_client_get_default ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]