diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/aclocal.m4 empathy-2.28.1.1/aclocal.m4 --- empathy-2.28.1/aclocal.m4 2009-10-19 18:45:13.000000000 +0200 +++ empathy-2.28.1.1/aclocal.m4 2009-10-26 18:39:22.000000000 +0100 @@ -750,11 +750,14 @@ [ AC_REQUIRE([AM_MAINTAINER_MODE]) + DISABLE_DEPRECATED="" if test $USE_MAINTAINER_MODE = yes; then - DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED -DGNOME_VFS_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DLIBGLADE_DISABLE_DEPRECATED -DWNCK_DISABLE_DEPRECATED -DLIBSOUP_DISABLE_DEPRECATED" - else - DISABLE_DEPRECATED="" + DOMAINS="G ATK PANGO GDK GDK_PIXBUF GTK GCONF BONOBO BONOBO_UI GNOME LIBGLADE VTE GNOME_VFS WNCK LIBSOUP" + for DOMAIN in $DOMAINS; do + DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES" + done fi + AC_SUBST(DISABLE_DEPRECATED) ]) diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/ChangeLog empathy-2.28.1.1/ChangeLog --- empathy-2.28.1/ChangeLog 2009-10-19 18:51:02.000000000 +0200 +++ empathy-2.28.1.1/ChangeLog 2009-10-26 18:44:02.000000000 +0100 @@ -1,3 +1,201 @@ +commit 2373c95f59be6bcd4041c2258a6158095b44e2f3 +Author: Guillaume Desmottes +Date: Mon Oct 26 17:15:24 2009 +0000 + + prepare 2.28.1.1 release + + NEWS | 31 +++++++++++++++++++++++++++++++ + 1 files changed, 31 insertions(+), 0 deletions(-) + +commit 054f27602448890116a67447e07032eb228bc82c +Author: Guillaume Desmottes +Date: Mon Oct 26 15:31:26 2009 +0000 + + dispatcher_request_handles_cb: use request_data->dispatcher to get + the self pointer + + We don't pass a weak pointer to tp_cli_connection_call_request_handles + so we can't rely on it (#599612). + + libempathy/empathy-dispatcher.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 5869623467e5c7746a4ad857f6ff0a69447816e7 +Author: Guillaume Desmottes +Date: Mon Oct 26 14:40:37 2009 +0000 + + theme_adium_parse_body: escape text between links + + libempathy-gtk/empathy-theme-adium.c | 10 ++++++++-- + 1 files changed, 8 insertions(+), 2 deletions(-) + +commit 8ee73a8dd92a52c9a214fc6a62702638f1b0b84f +Author: Guillaume Desmottes +Date: Mon Oct 26 14:03:58 2009 +0000 + + theme_adium_parse_body: escape all the text if smileys are disabled + (#599640) + + libempathy-gtk/empathy-theme-adium.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit b89e72122e3f27f1341a3536f464d0e5c0acde99 +Author: Xavier Claessens +Date: Mon Oct 26 12:58:11 2009 +0000 + + theme_adium_append_event: escape text + + libempathy-gtk/empathy-theme-adium.c | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +commit b354b0dfc20be06b15f32866be119beb4e93e027 +Author: Leonid Kanter +Date: Mon Oct 26 00:42:05 2009 +0200 + + Fixed hotkey + + po/ru.po | 124 + +++++++++++++++++++++++++++++++------------------------------- + 1 files changed, 62 insertions(+), 62 deletions(-) + +commit 024768c3ddf14234bb9ee7a8d4ab585aa4de0a3a +Author: Xavier Claessens +Date: Sun Oct 25 17:54:49 2009 +0100 + + Fix crash when joining a chat, GTK_WIDGET_VISIBLE is not NULL-safe + + src/empathy-chat-window.c | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +commit 2331c9bf7995be07797a42c3ebc3f91aa03db529 +Author: Rob Bradford +Date: Fri Oct 23 17:18:05 2009 +0100 + + empathy-chat-window: Don't update the Contact menu if visible + + If the Contact menu is currently visible do not update it. Instead + update it + once the menu is hidden. + + Fixes: #591360 + + src/empathy-chat-window.c | 31 ++++++++++++++++++++++++++----- + 1 files changed, 26 insertions(+), 5 deletions(-) + +commit 9ad94f9f96cb1b7aa438d264a6b8989279add8fd +Author: Guillaume Desmottes +Date: Fri Oct 23 11:17:23 2009 +0100 + + empathy-protocol-chooser: don't cache TpConnectionManagerProtocol + in the store + + TpConnectionManagerProtocol are not garanteed to stay valid so we + shouldn't cache them in the store. Instead, we cache the protocol name + and call tp_connection_manager_get_protocol each time we need it. + This should fix crashers as the ones reported in #599386. + + libempathy-gtk/empathy-protocol-chooser.c | 75 + ++++++++++++++++++----------- + 1 files changed, 47 insertions(+), 28 deletions(-) + +commit 6ffab6e98fb482399e8319c726c3a801c8ca7b5d +Author: Guillaume Desmottes +Date: Thu Oct 22 12:08:50 2009 +0100 + + fix a comment so the style checker is happy (#599243) + + libempathy-gtk/empathy-avatar-chooser.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit ff53b31db29f8fac8ca19e9ee60c20e8bd32edbc +Author: Tommi Vainikainen +Date: Thu Oct 22 09:01:26 2009 +0300 + + Updated Finnish translation + + po/fi.po | 184 + +++++++++++++++++++++++++++++++++++--------------------------- + 1 files changed, 105 insertions(+), 79 deletions(-) + +commit 5cdb6fb6d19c743aac56218b914b98259c49812d +Author: Theppitak Karoonboonyanan +Date: Thu Oct 22 08:24:15 2009 +0700 + + Updated Thai translation. + + po/th.po | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +commit 36496faf485d1f6f42ae2d13c6441a918a367cb2 +Author: Ivar Smolin +Date: Wed Oct 21 22:40:53 2009 +0300 + + Updating Estonian translation + + po/et.po | 37 ++++++++++++++++++++++++++++++------- + 1 files changed, 30 insertions(+), 7 deletions(-) + +commit 73c42cf8b051a58244693f73f4a5646499636227 +Author: Guillaume Desmottes +Date: Wed Oct 21 18:00:00 2009 +0100 + + empathy-account-settings: fix CLAMP usage + + CLAMP syntax is (x, low, high), not (low, x, high). Also add some cast + to fix compiler warnings. + + libempathy/empathy-account-settings.c | 16 +++++++++------- + 1 files changed, 9 insertions(+), 7 deletions(-) + +commit d945b6607db76046ec736d41afa89f3c6368bc2b +Author: Žygimantas Beručka +Date: Wed Oct 21 12:43:49 2009 +0300 + + Updated Lithuanian translation + + po/lt.po | 175 + ++++++++++++++++++++++++++------------------------------------ + 1 files changed, 73 insertions(+), 102 deletions(-) + +commit 0e42dd141a98a8d328456804ee9b0ed5770b7411 +Author: Felix Kaser +Date: Tue Oct 20 10:20:02 2009 +0200 + + Ignoring non installed languages + + Languages which are in the gconf setting but are not installed any + more are ignored, fixes bug #598954 + + libempathy-gtk/empathy-spell.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +commit 62a30389b6b945d0ed49af5f1cf4e1c7d06b18e3 +Author: Guillaume Desmottes +Date: Tue Oct 20 14:01:58 2009 +0100 + + start dev of 2.28.2 + + configure.ac | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 15d5a373c53360420849265bb9c5b440629c4e1c +Author: Guillaume Desmottes +Date: Tue Oct 20 12:05:43 2009 +0100 + + release.py: stop hardcoding the GNOME username used for uploads + + release.py | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) + +commit bc48535cbf84cb580641a4a95bec82df61bfda6d +Author: Xavier Claessens +Date: Tue Oct 20 12:30:17 2009 +0200 + + Correctly lookup project page for release notes + + release.py | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + commit 8033b91d043505723ebbcb04965de66513e230e7 Author: Guillaume Desmottes Date: Mon Oct 19 17:08:04 2009 +0100 diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/configure.ac empathy-2.28.1.1/configure.ac --- empathy-2.28.1/configure.ac 2009-10-19 18:43:31.000000000 +0200 +++ empathy-2.28.1.1/configure.ac 2009-10-26 17:58:53.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT(Empathy, 2.28.1, http://bugzilla.gnome.org/browse.cgi?product=empathy) +AC_INIT(Empathy, 2.28.1.1, http://bugzilla.gnome.org/browse.cgi?product=empathy) AC_PREREQ(2.59) AC_COPYRIGHT([ Copyright (C) 2003-2007 Imendio AB diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/data/empathy.desktop empathy-2.28.1.1/data/empathy.desktop --- empathy-2.28.1/data/empathy.desktop 2009-10-19 18:47:49.000000000 +0200 +++ empathy-2.28.1.1/data/empathy.desktop 2009-10-26 18:39:40.000000000 +0100 @@ -214,4 +214,4 @@ X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=empathy X-GNOME-Bugzilla-Component=General -X-GNOME-Bugzilla-Version=2.28.1 +X-GNOME-Bugzilla-Version=2.28.1.1 diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/data/empathy.desktop.in empathy-2.28.1.1/data/empathy.desktop.in --- empathy-2.28.1/data/empathy.desktop.in 2009-10-19 18:47:47.000000000 +0200 +++ empathy-2.28.1.1/data/empathy.desktop.in 2009-10-26 18:39:32.000000000 +0100 @@ -13,4 +13,4 @@ X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=empathy X-GNOME-Bugzilla-Component=General -X-GNOME-Bugzilla-Version=2.28.1 +X-GNOME-Bugzilla-Version=2.28.1.1 diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/debian/changelog empathy-2.28.1.1/debian/changelog --- empathy-2.28.1/debian/changelog 2009-10-27 17:27:22.000000000 +0100 +++ empathy-2.28.1.1/debian/changelog 2009-10-27 17:27:23.000000000 +0100 @@ -1,3 +1,24 @@ +empathy (2.28.1.1-1ubuntu1) karmic-proposed; urgency=low + + * debian/libempathy-gtk28.symbols: + - don't list symbols specific to the geoclue builds + + [ Ken VanDine ] + * New upstream release (LP: #462016) + - Incoming message while menu is open freezes X + - crash when typoing room name + - Empathy crashes with SIGSEGV when trying spellcheck + - Empathy protocol chooser shouldn't cache TpConnectionManagerProtocol + (lp: #446311) + - fixes potential security issue by ensuring that messages are always + escaped before being displayed in Webkit + + * debian/patches/20_libindicate.patch + - fixed empathy_tp_chat_acknowledge_message: assertion failed (LP: #408530) + - added some DEBUG output for better logging + + -- Sebastien Bacher Tue, 27 Oct 2009 16:59:12 +0100 + empathy (2.28.1-1ubuntu1) karmic; urgency=low * debian/libempathy-gtk28.symbols: diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/debian/libempathy-gtk28.symbols empathy-2.28.1.1/debian/libempathy-gtk28.symbols --- empathy-2.28.1/debian/libempathy-gtk28.symbols 2009-10-27 17:27:22.000000000 +0100 +++ empathy-2.28.1.1/debian/libempathy-gtk28.symbols 2009-10-27 17:27:23.000000000 +0100 @@ -160,8 +160,6 @@ empathy_kludge_label_get_type@Base 2.27.91.1 empathy_kludge_label_new@Base 2.27.91.1 empathy_link_button_new@Base 2.27.91.1 - empathy_location_manager_dup_singleton@Base 2.28.1-1ubuntu1 - empathy_location_manager_get_type@Base 2.28.1-1ubuntu1 empathy_log_window_show@Base 2.27.91.1 empathy_make_absolute_url@Base 2.27.91.1 empathy_make_absolute_url_len@Base 2.27.92 diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/debian/patches/20_libindicate.patch empathy-2.28.1.1/debian/patches/20_libindicate.patch --- empathy-2.28.1/debian/patches/20_libindicate.patch 2009-10-27 17:27:22.000000000 +0100 +++ empathy-2.28.1.1/debian/patches/20_libindicate.patch 2009-10-27 17:27:23.000000000 +0100 @@ -5,8 +5,8 @@ # === modified file 'configure.ac' ---- configure.ac 2009-10-15 03:43:55 +0000 -+++ configure.ac 2009-10-15 03:44:19 +0000 +--- configure.ac 2009-10-27 14:27:20 +0000 ++++ configure.ac 2009-10-27 14:36:55 +0000 @@ -41,6 +41,8 @@ WEBKIT_REQUIRED=1.1.7 KEYRING_REQUIRED=2.22 @@ -16,7 +16,7 @@ # Use --enable-maintainer-mode to disabled deprecated symbols GNOME_MAINTAINER_MODE_DEFINES -@@ -408,6 +410,34 @@ +@@ -410,6 +412,34 @@ AM_CONDITIONAL(HAVE_NOTHERE, test "x$have_nothere" = "xyes") # ----------------------------------------------------------- @@ -51,18 +51,18 @@ # Tests # ----------------------------------------------------------- AC_ARG_ENABLE(tests, -@@ -528,6 +558,7 @@ +@@ -530,6 +560,7 @@ Location awareness (Geoclue): ${have_geoclue} Adium themes (Webkit).......: ${have_webkit} - Moblin widgets .............: ${have_moblin} + Moblin widgets .............: ${have_moblin} + Message indicator support (libindicate): ${have_libindicate} Connectivity: NetworkManager integration..: ${have_nm} === modified file 'data/empathy.schemas.in' ---- data/empathy.schemas.in 2009-10-15 03:43:04 +0000 -+++ data/empathy.schemas.in 2009-10-15 03:44:19 +0000 +--- data/empathy.schemas.in 2009-10-27 14:25:21 +0000 ++++ data/empathy.schemas.in 2009-10-27 14:36:55 +0000 @@ -291,6 +291,21 @@ @@ -87,8 +87,8 @@ empathy === modified file 'libempathy-gtk/empathy-conf.h' ---- libempathy-gtk/empathy-conf.h 2009-10-15 03:43:04 +0000 -+++ libempathy-gtk/empathy-conf.h 2009-10-15 03:44:19 +0000 +--- libempathy-gtk/empathy-conf.h 2009-10-27 14:25:21 +0000 ++++ libempathy-gtk/empathy-conf.h 2009-10-27 14:36:55 +0000 @@ -74,6 +74,7 @@ #define EMPATHY_PREFS_UI_AVATAR_DIRECTORY EMPATHY_PREFS_PATH "/ui/avatar_directory" #define EMPATHY_PREFS_UI_SHOW_AVATARS EMPATHY_PREFS_PATH "/ui/show_avatars" @@ -99,8 +99,8 @@ #define EMPATHY_PREFS_HINTS_CLOSE_MAIN_WINDOW EMPATHY_PREFS_PATH "/hints/close_main_window" === modified file 'libempathy-gtk/empathy-ui-utils.c' ---- libempathy-gtk/empathy-ui-utils.c 2009-10-15 03:43:04 +0000 -+++ libempathy-gtk/empathy-ui-utils.c 2009-10-15 03:44:19 +0000 +--- libempathy-gtk/empathy-ui-utils.c 2009-10-27 14:25:21 +0000 ++++ libempathy-gtk/empathy-ui-utils.c 2009-10-27 14:36:55 +0000 @@ -1269,24 +1269,35 @@ Display *dpy; GdkWindow *gdk_window; @@ -155,8 +155,8 @@ /* Takes care of moving the window to the current workspace. */ === modified file 'po/POTFILES.in' ---- po/POTFILES.in 2009-10-15 03:43:04 +0000 -+++ po/POTFILES.in 2009-10-15 03:44:19 +0000 +--- po/POTFILES.in 2009-10-27 14:25:21 +0000 ++++ po/POTFILES.in 2009-10-27 14:36:55 +0000 @@ -79,6 +79,8 @@ [type: gettext/glade]src/empathy-import-dialog.ui src/empathy-import-widget.c @@ -168,8 +168,8 @@ src/empathy-new-chatroom-dialog.c === modified file 'src/Makefile.am' ---- src/Makefile.am 2009-10-15 03:43:04 +0000 -+++ src/Makefile.am 2009-10-15 03:44:19 +0000 +--- src/Makefile.am 2009-10-27 14:25:21 +0000 ++++ src/Makefile.am 2009-10-27 14:36:55 +0000 @@ -4,8 +4,10 @@ AM_CPPFLAGS = \ -I$(top_srcdir) \ @@ -210,8 +210,8 @@ empathy-map-view.c \ === modified file 'src/empathy-chat-window.c' ---- src/empathy-chat-window.c 2009-10-15 03:43:04 +0000 -+++ src/empathy-chat-window.c 2009-10-15 03:44:19 +0000 +--- src/empathy-chat-window.c 2009-10-27 14:25:21 +0000 ++++ src/empathy-chat-window.c 2009-10-27 14:36:55 +0000 @@ -56,6 +56,11 @@ #include "empathy-about-dialog.h" #include "empathy-misc.h" @@ -236,7 +236,7 @@ /* Menu items. */ GtkUIManager *ui_manager; -@@ -943,6 +953,76 @@ +@@ -963,6 +973,77 @@ priv->notification_data = NULL; } @@ -248,8 +248,7 @@ + empathy_chat_window_present_chat (cb_data->chat); + + empathy_indicator_hide (indicator); -+ g_object_unref (cb_data->chat); -+ g_slice_free (NotificationData, cb_data); ++ free_notification_data (cb_data); +} + +static void @@ -260,9 +259,8 @@ + EmpathyChatWindowPriv *priv = GET_PRIV (window); + EmpathyContact *sender; + const char *body; -+ NotificationData *cb_data; + gboolean use_libindicate; -+ EmpathyIndicator *indicator; ++ EmpathyIndicator *indicator = NULL; + + empathy_conf_get_bool (empathy_conf_get (), + EMPATHY_PREFS_UI_USE_LIBINDICATE, @@ -272,17 +270,19 @@ + return; + } + -+ cb_data = g_slice_new0 (NotificationData); -+ cb_data->chat = g_object_ref (chat); -+ cb_data->window = window; -+ + sender = empathy_message_get_sender (message); + body = empathy_message_get_body (message); + + indicator = g_hash_table_lookup (priv->indicators, chat); -+ if (indicator) { ++ if (indicator != NULL) { ++ DEBUG ("indicator exists"); + empathy_indicator_update (indicator, body); + } else { ++ DEBUG ("indicator doesn't exist yet, creating a new indicator"); ++ NotificationData *cb_data; ++ cb_data = g_slice_new0 (NotificationData); ++ cb_data->chat = g_object_ref (chat); ++ cb_data->window = window; + indicator = empathy_indicator_manager_create_indicator (priv->indicator_manager, + sender, body); + g_signal_connect (indicator, "activate", @@ -295,25 +295,26 @@ +static void +chat_window_remove_indicator (EmpathyChatWindow *window, EmpathyChat *chat) +{ -+ EmpathyIndicator *indicator; ++ EmpathyIndicator *indicator = NULL; + EmpathyChatWindowPriv *priv = GET_PRIV (window); + + indicator = g_hash_table_lookup (priv->indicators, chat); + -+ if (!indicator) { -+ return; ++ if (indicator != NULL) { ++ DEBUG ("indicator is %p", indicator); ++ empathy_indicator_hide (indicator); ++ g_hash_table_remove (priv->indicators, chat); ++ g_object_unref (indicator); ++ } else { ++ DEBUG ("indicator is NULL, nothing to remove"); + } -+ -+ empathy_indicator_hide (indicator); -+ g_hash_table_remove (priv->indicators, chat); -+ g_object_unref (indicator); +} +#endif + static void chat_window_show_or_update_notification (EmpathyChatWindow *window, EmpathyMessage *message, -@@ -1076,6 +1156,9 @@ +@@ -1096,6 +1177,9 @@ empathy_sound_play (GTK_WIDGET (priv->dialog), EMPATHY_SOUND_MESSAGE_INCOMING); chat_window_show_or_update_notification (window, message, chat); @@ -323,7 +324,7 @@ } } -@@ -1135,6 +1218,10 @@ +@@ -1155,6 +1239,10 @@ priv->chats_new_msg = g_list_remove (priv->chats_new_msg, chat); chat_window_update_chat_tab (chat); @@ -334,7 +335,7 @@ } static void -@@ -1245,6 +1332,11 @@ +@@ -1265,6 +1353,11 @@ /* Update the title, since we now mark all unread messages as read. */ chat_window_update_chat_tab (priv->current_chat); @@ -346,7 +347,7 @@ return FALSE; } -@@ -1476,6 +1568,11 @@ +@@ -1496,6 +1589,11 @@ g_object_unref (gui); priv->chatroom_manager = empathy_chatroom_manager_dup_singleton (NULL); @@ -361,8 +362,8 @@ === added file 'src/empathy-indicator-manager.c' --- src/empathy-indicator-manager.c 1970-01-01 00:00:00 +0000 -+++ src/empathy-indicator-manager.c 2009-10-15 03:44:19 +0000 -@@ -0,0 +1,460 @@ ++++ src/empathy-indicator-manager.c 2009-10-27 14:36:55 +0000 +@@ -0,0 +1,465 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2009 Canonical Ltd. @@ -407,7 +408,7 @@ +#include +#include + -+#define DEBUG_FLAG EMPATHY_DEBUG_DISPATCHER ++#define DEBUG_FLAG EMPATHY_DEBUG_OTHER +#include + +#define INDICATOR_LOGIN_TIMEOUT 15 @@ -515,8 +516,11 @@ + + priv = GET_PRIV (manager); + ++ DEBUG ("Event added"); ++ + if (event->contact == NULL) + return; ++ + indicator = empathy_indicator_new (event->contact, event->message, "im"); + empathy_indicator_show (indicator); + g_signal_connect (G_OBJECT(indicator), "activate", @@ -538,6 +542,8 @@ + + priv = GET_PRIV (manager); + ++ DEBUG ("Event removed"); ++ + for (l = priv->indicator_events; l; l = l->next) + { + IndicatorEvent *indicator_event; @@ -826,7 +832,7 @@ === added file 'src/empathy-indicator-manager.h' --- src/empathy-indicator-manager.h 1970-01-01 00:00:00 +0000 -+++ src/empathy-indicator-manager.h 2009-10-15 03:44:19 +0000 ++++ src/empathy-indicator-manager.h 2009-10-27 14:36:55 +0000 @@ -0,0 +1,77 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* @@ -908,8 +914,8 @@ === added file 'src/empathy-indicator.c' --- src/empathy-indicator.c 1970-01-01 00:00:00 +0000 -+++ src/empathy-indicator.c 2009-10-15 03:44:19 +0000 -@@ -0,0 +1,318 @@ ++++ src/empathy-indicator.c 2009-10-27 14:36:55 +0000 +@@ -0,0 +1,325 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2009 Canonical Ltd. @@ -945,6 +951,9 @@ +#include +#include + ++#define DEBUG_FLAG EMPATHY_DEBUG_OTHER ++#include ++ +#define GET_PRIV(obj) EMPATHY_GET_PRIV ((obj), EmpathyIndicator) + +enum { @@ -1194,6 +1203,7 @@ + const gchar *body, + const gchar *subtype) +{ ++ DEBUG ("Creating a new indicator"); + return g_object_new (EMPATHY_TYPE_INDICATOR, "contact", sender, "body", body, + "subtype", subtype, NULL); +} @@ -1202,6 +1212,7 @@ +void +empathy_indicator_show (EmpathyIndicator *e_indicator) +{ ++ DEBUG ("Showing indicator %p", e_indicator); + g_object_set (e_indicator, "visible", TRUE, NULL); +} + @@ -1209,6 +1220,7 @@ +void +empathy_indicator_hide (EmpathyIndicator *e_indicator) +{ ++ DEBUG ("Hiding indicator %p", e_indicator); + g_object_set (e_indicator, "visible", FALSE, NULL); +} + @@ -1217,6 +1229,7 @@ +empathy_indicator_update (EmpathyIndicator *e_indicator, + const gchar *body) +{ ++ DEBUG ("Updating existing indicator %p", e_indicator); + g_object_set (e_indicator, "body", body, NULL); +} + @@ -1231,7 +1244,7 @@ === added file 'src/empathy-indicator.h' --- src/empathy-indicator.h 1970-01-01 00:00:00 +0000 -+++ src/empathy-indicator.h 2009-10-15 03:44:19 +0000 ++++ src/empathy-indicator.h 2009-10-27 14:36:55 +0000 @@ -0,0 +1,65 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* @@ -1300,8 +1313,8 @@ +#endif /* __EMPATHY-INDICATOR_H__ */ === modified file 'src/empathy-main-window.c' ---- src/empathy-main-window.c 2009-10-15 03:43:55 +0000 -+++ src/empathy-main-window.c 2009-10-15 03:44:19 +0000 +--- src/empathy-main-window.c 2009-10-27 14:27:20 +0000 ++++ src/empathy-main-window.c 2009-10-27 14:36:55 +0000 @@ -64,6 +64,10 @@ #include "empathy-event-manager.h" #include "empathy-ft-manager.h" @@ -1359,8 +1372,8 @@ === modified file 'src/empathy-preferences.c' ---- src/empathy-preferences.c 2009-10-15 03:43:04 +0000 -+++ src/empathy-preferences.c 2009-10-15 03:44:19 +0000 +--- src/empathy-preferences.c 2009-10-27 14:25:21 +0000 ++++ src/empathy-preferences.c 2009-10-27 14:36:55 +0000 @@ -53,6 +53,7 @@ GtkWidget *checkbutton_show_smileys; @@ -1394,8 +1407,8 @@ "checkbutton_autoconnect", &preferences->checkbutton_autoconnect, === modified file 'src/empathy-preferences.ui' ---- src/empathy-preferences.ui 2009-10-15 03:43:04 +0000 -+++ src/empathy-preferences.ui 2009-10-15 03:44:19 +0000 +--- src/empathy-preferences.ui 2009-10-27 14:25:21 +0000 ++++ src/empathy-preferences.ui 2009-10-27 14:36:55 +0000 @@ -250,6 +250,20 @@ 1 @@ -1419,8 +1432,8 @@ 1 === modified file 'src/empathy-status-icon.c' ---- src/empathy-status-icon.c 2009-10-15 03:43:04 +0000 -+++ src/empathy-status-icon.c 2009-10-15 03:45:19 +0000 +--- src/empathy-status-icon.c 2009-10-27 14:25:21 +0000 ++++ src/empathy-status-icon.c 2009-10-27 14:36:55 +0000 @@ -29,6 +29,7 @@ #include #include diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/docs/libempathy/libempathy-sections.txt empathy-2.28.1.1/docs/libempathy/libempathy-sections.txt --- empathy-2.28.1/docs/libempathy/libempathy-sections.txt 2009-10-19 18:51:05.000000000 +0200 +++ empathy-2.28.1.1/docs/libempathy/libempathy-sections.txt 2009-10-26 18:44:05.000000000 +0100 @@ -1,10 +1,59 @@
+empathy-account-settings +EmpathyAccountSettings +EmpathyAccountSettings +empathy_account_settings_new +empathy_account_settings_new_for_account +empathy_account_settings_is_ready +empathy_account_settings_get_cm +empathy_account_settings_get_protocol +empathy_account_settings_get_account +empathy_account_settings_has_account +empathy_account_settings_get_tp_params +empathy_account_settings_unset +empathy_account_settings_discard_changes +empathy_account_settings_get +empathy_account_settings_get_dbus_signature +empathy_account_settings_get_default +empathy_account_settings_get_string +empathy_account_settings_get_int32 +empathy_account_settings_get_int64 +empathy_account_settings_get_uint32 +empathy_account_settings_get_uint64 +empathy_account_settings_get_boolean +empathy_account_settings_set_string +empathy_account_settings_set_int32 +empathy_account_settings_set_int64 +empathy_account_settings_set_uint32 +empathy_account_settings_set_uint64 +empathy_account_settings_set_boolean +empathy_account_settings_get_icon_name +empathy_account_settings_set_icon_name_async +empathy_account_settings_set_icon_name_finish +empathy_account_settings_get_display_name +empathy_account_settings_set_display_name_async +empathy_account_settings_set_display_name_finish +empathy_account_settings_apply_async +empathy_account_settings_apply_finish +empathy_account_settings_is_valid + +EMPATHY_ACCOUNT_SETTINGS +EMPATHY_IS_ACCOUNT_SETTINGS +EMPATHY_TYPE_ACCOUNT_SETTINGS +empathy_account_settings_get_type +EMPATHY_ACCOUNT_SETTINGS_CLASS +EMPATHY_IS_ACCOUNT_SETTINGS_CLASS +EMPATHY_ACCOUNT_SETTINGS_GET_CLASS +
+ +
empathy-call-factory EmpathyCallFactory EmpathyCallFactory empathy_call_factory_initialise empathy_call_factory_get empathy_call_factory_new_call +empathy_call_factory_new_call_with_streams empathy_call_factory_claim_channel EMPATHY_CALL_FACTORY @@ -36,25 +85,16 @@
empathy-tp-file -EMPATHY_TP_FILE_UNKNOWN_SIZE -EmpathyTpFilePriv +EMPATHY_FT_ERROR_QUARK +EmpathyFTErrorEnum EmpathyTpFile EmpathyTpFile empathy_tp_file_new -empathy_tp_file_get_channel empathy_tp_file_accept +empathy_tp_file_offer empathy_tp_file_cancel empathy_tp_file_close -empathy_tp_file_offer -empathy_tp_file_get_contact -empathy_tp_file_get_filename empathy_tp_file_is_incoming -empathy_tp_file_get_state -empathy_tp_file_get_size -empathy_tp_file_get_transferred_bytes -empathy_tp_file_get_remaining_time -empathy_tp_file_get_content_type -empathy_tp_file_is_ready EMPATHY_TP_FILE EMPATHY_IS_TP_FILE @@ -66,6 +106,47 @@
+empathy-account +EmpathyAccount +EmpathyAccount +empathy_account_is_just_connected +empathy_account_get_connection +empathy_account_get_connection_for_path +empathy_account_get_unique_name +empathy_account_get_display_name +empathy_account_get_connection_manager +empathy_account_get_protocol +empathy_account_get_icon_name +empathy_account_set_enabled_async +empathy_account_set_enabled_finish +empathy_account_reconnect_async +empathy_account_reconnect_finish +empathy_account_is_enabled +empathy_account_is_valid +empathy_account_is_ready +empathy_account_update_settings_async +empathy_account_update_settings_finish +empathy_account_remove_async +empathy_account_remove_finish +empathy_account_set_display_name_async +empathy_account_set_display_name_finish +empathy_account_set_icon_name_async +empathy_account_set_icon_name_finish +empathy_account_new +empathy_account_request_presence +empathy_account_get_parameters +empathy_account_refresh_properties + +EMPATHY_ACCOUNT +EMPATHY_IS_ACCOUNT +EMPATHY_TYPE_ACCOUNT +empathy_account_get_type +EMPATHY_ACCOUNT_CLASS +EMPATHY_IS_ACCOUNT_CLASS +EMPATHY_ACCOUNT_GET_CLASS +
+ +
empathy-dispatcher EmpathyDispatcher EmpathyDispatcher @@ -74,7 +155,11 @@ empathy_dispatcher_chat_with_contact empathy_dispatcher_send_file_to_contact empathy_dispatcher_join_muc -empathy_dispatcher_find_channel_class +empathy_dispatcher_find_requestable_channel_classes_async +empathy_dispatcher_find_requestable_channel_classes +empathy_dispatcher_new +empathy_dispatcher_add_handler +empathy_dispatcher_remove_handler empathy_dispatcher_dup_singleton EMPATHY_DISPATCHER @@ -93,7 +178,6 @@ empathy_tube_handler_new empathy_tube_handler_build_bus_name empathy_tube_handler_build_object_path -EmpathyTpTubeReadyCb EMPATHY_TUBE_HANDLER EMPATHY_IS_TUBE_HANDLER @@ -127,6 +211,72 @@
+empathy-ft-factory +EmpathyFTFactory +EmpathyFTFactory +empathy_ft_factory_dup_singleton +empathy_ft_factory_new_transfer_outgoing +empathy_ft_factory_claim_channel +empathy_ft_factory_set_destination_for_incoming_handler + +EMPATHY_FT_FACTORY +EMPATHY_IS_FT_FACTORY +EMPATHY_TYPE_FT_FACTORY +empathy_ft_factory_get_type +EMPATHY_FT_FACTORY_CLASS +EMPATHY_IS_FT_FACTORY_CLASS +EMPATHY_FT_FACTORY_GET_CLASS +
+ +
+empathy-debugger +DEBUG_MESSAGE_LIMIT +EmpathyDebugMessage +EmpathyDebugger +EmpathyDebugger +empathy_debugger_get_singleton +empathy_debugger_add_message + +EMPATHY_DEBUGGER +EMPATHY_IS_DEBUGGER +EMPATHY_TYPE_DEBUGGER +empathy_debugger_get_type +EMPATHY_DEBUGGER_CLASS +EMPATHY_IS_DEBUGGER_CLASS +EMPATHY_DEBUGGER_GET_CLASS +
+ +
+empathy-ft-handler +EmpathyFTHandler +EmpathyFTHandler +EmpathyFTHandlerReadyCallback +empathy_ft_handler_new_outgoing +empathy_ft_handler_new_incoming +empathy_ft_handler_incoming_set_destination +empathy_ft_handler_start_transfer +empathy_ft_handler_cancel_transfer +empathy_ft_handler_get_filename +empathy_ft_handler_get_content_type +empathy_ft_handler_get_contact +empathy_ft_handler_get_gfile +empathy_ft_handler_get_use_hash +empathy_ft_handler_is_incoming +empathy_ft_handler_get_transferred_bytes +empathy_ft_handler_get_total_bytes +empathy_ft_handler_is_completed +empathy_ft_handler_is_cancelled + +EMPATHY_FT_HANDLER +EMPATHY_IS_FT_HANDLER +EMPATHY_TYPE_FT_HANDLER +empathy_ft_handler_get_type +EMPATHY_FT_HANDLER_CLASS +EMPATHY_IS_FT_HANDLER_CLASS +EMPATHY_FT_HANDLER_GET_CLASS +
+ +
empathy-tp-contact-factory EmpathyTpContactFactory EmpathyTpContactFactory @@ -140,6 +290,7 @@ empathy_tp_contact_factory_get_from_handle empathy_tp_contact_factory_set_alias empathy_tp_contact_factory_set_avatar +empathy_tp_contact_factory_set_location EMPATHY_TP_CONTACT_FACTORY EMPATHY_IS_TP_CONTACT_FACTORY @@ -211,9 +362,10 @@ empathy-contact-manager EmpathyContactManager EmpathyContactManager +empathy_contact_manager_initialized empathy_contact_manager_dup_singleton empathy_contact_manager_get_list -empathy_contact_manager_can_add +empathy_contact_manager_get_flags_for_connection EMPATHY_CONTACT_MANAGER EMPATHY_IS_CONTACT_MANAGER @@ -226,6 +378,7 @@
empathy-contact-list +EmpathyContactListFlags EmpathyContactListIface empathy_contact_list_add empathy_contact_list_remove @@ -238,6 +391,7 @@ empathy_contact_list_rename_group empathy_contact_list_remove_group empathy_contact_list_get_monitor +empathy_contact_list_get_flags EMPATHY_CONTACT_LIST EMPATHY_IS_CONTACT_LIST @@ -259,6 +413,8 @@ empathy_tp_call_start_tone empathy_tp_call_stop_tone empathy_tp_call_has_dtmf +empathy_tp_call_is_receiving_video +empathy_tp_call_is_sending_video EMPATHY_TP_CALL EMPATHY_IS_TP_CALL @@ -313,7 +469,10 @@ empathy_contact_is_online empathy_contact_get_status empathy_contact_can_voip +empathy_contact_can_voip_audio +empathy_contact_can_voip_video empathy_contact_can_send_files +empathy_contact_can_use_stream_tube empathy_contact_hash empathy_contact_load_avatar_data empathy_contact_load_avatar_cache @@ -323,6 +482,9 @@ empathy_avatar_ref empathy_avatar_unref empathy_avatar_save_to_file +empathy_contact_get_location +empathy_contact_set_location +empathy_contact_equal EMPATHY_CONTACT EMPATHY_IS_CONTACT @@ -338,8 +500,11 @@ EmpathyCallHandler EmpathyCallHandler empathy_call_handler_new_for_contact +empathy_call_handler_new_for_contact_with_streams empathy_call_handler_new_for_channel empathy_call_handler_start_call +empathy_call_handler_stop_call +empathy_call_handler_has_initial_video empathy_call_handler_bus_message EMPATHY_CALL_HANDLER @@ -352,6 +517,23 @@
+empathy-handler +EmpathyHandler +EmpathyHandler +empathy_handler_new +empathy_handler_set_handle_channels_func +empathy_handler_set_channels_func + +EMPATHY_HANDLER +EMPATHY_IS_HANDLER +EMPATHY_TYPE_HANDLER +empathy_handler_get_type +EMPATHY_HANDLER_CLASS +EMPATHY_IS_HANDLER_CLASS +EMPATHY_HANDLER_GET_CLASS +
+ +
empathy-irc-network EmpathyIrcNetwork EmpathyIrcNetwork @@ -433,8 +615,6 @@ empathy_idle_set_presence empathy_idle_get_auto_away empathy_idle_set_auto_away -empathy_idle_get_use_nm -empathy_idle_set_use_nm EMPATHY_IDLE EMPATHY_IS_IDLE @@ -461,6 +641,24 @@
+empathy-connectivity +EmpathyConnectivity +EmpathyConnectivity +empathy_connectivity_dup_singleton +empathy_connectivity_is_online +empathy_connectivity_get_use_conn +empathy_connectivity_set_use_conn + +EMPATHY_CONNECTIVITY +EMPATHY_IS_CONNECTIVITY +EMPATHY_TYPE_CONNECTIVITY +empathy_connectivity_get_type +EMPATHY_CONNECTIVITY_CLASS +EMPATHY_IS_CONNECTIVITY_CLASS +EMPATHY_CONNECTIVITY_GET_CLASS +
+ +
empathy-tp-chat EmpathyTpChat EmpathyTpChat @@ -491,6 +689,7 @@ empathy-message EmpathyMessage EmpathyMessage +empathy_message_new_from_entry empathy_message_new empathy_message_get_tptype empathy_message_set_tptype @@ -502,6 +701,10 @@ empathy_message_set_body empathy_message_get_timestamp empathy_message_set_timestamp +empathy_message_is_backlog +empathy_message_set_is_backlog +empathy_message_is_incoming +empathy_message_set_incoming empathy_message_should_highlight empathy_message_type_from_str empathy_message_type_to_str @@ -524,7 +727,6 @@ EmpathyTpContactList empathy_tp_contact_list_new empathy_tp_contact_list_get_connection -empathy_tp_contact_list_can_add empathy_tp_contact_list_remove_all EMPATHY_TP_CONTACT_LIST @@ -569,14 +771,20 @@ EmpathyAccountManager EmpathyAccountManager empathy_account_manager_dup_singleton +empathy_account_manager_is_ready empathy_account_manager_get_connected_accounts empathy_account_manager_get_connecting_accounts -empathy_account_manager_is_account_just_connected empathy_account_manager_get_count +empathy_account_manager_get_account_for_connection +empathy_account_manager_ensure_account empathy_account_manager_get_account empathy_account_manager_dup_accounts -empathy_account_manager_get_connection empathy_account_manager_dup_connections +empathy_account_manager_request_global_presence +empathy_account_manager_get_requested_global_presence +empathy_account_manager_get_global_presence +empathy_account_manager_create_account_async +empathy_account_manager_create_account_finish EMPATHY_ACCOUNT_MANAGER EMPATHY_IS_ACCOUNT_MANAGER @@ -588,22 +796,23 @@
-empathy-tp-tube -EmpathyTpTubeAddress -EmpathyTpTube -EmpathyTpTube -empathy_tp_tube_new -empathy_tp_tube_new_stream_tube -empathy_tp_tube_accept_stream_tube -empathy_tp_tube_call_when_ready - -EMPATHY_TP_TUBE -EMPATHY_IS_TP_TUBE -EMPATHY_TYPE_TP_TUBE -empathy_tp_tube_get_type -EMPATHY_TP_TUBE_CLASS -EMPATHY_IS_TP_TUBE_CLASS -EMPATHY_TP_TUBE_GET_CLASS +empathy-connection-managers +EmpathyConnectionManagers +EmpathyConnectionManagers +empathy_connection_managers_dup_singleton +empathy_connection_managers_is_ready +empathy_connection_managers_update +empathy_connection_managers_get_cms +empathy_connection_managers_get_cms_num +empathy_connection_managers_get_cm + +EMPATHY_CONNECTION_MANAGERS +EMPATHY_IS_CONNECTION_MANAGERS +EMPATHY_TYPE_CONNECTION_MANAGERS +empathy_connection_managers_get_type +EMPATHY_CONNECTION_MANAGERS_CLASS +EMPATHY_IS_CONNECTION_MANAGERS_CLASS +EMPATHY_CONNECTION_MANAGERS_GET_CLASS
@@ -640,6 +849,7 @@ empathy_status_presets_get_default_status empathy_status_presets_set_default empathy_status_presets_clear_default +empathy_status_presets_is_valid
@@ -654,9 +864,6 @@ empathy_xml_node_get_child empathy_xml_node_get_child_content empathy_xml_node_find_child_prop_value -empathy_account_hash -empathy_account_equal -empathy_mission_control_dup_singleton empathy_presence_get_default_message empathy_presence_to_str empathy_presence_from_str @@ -664,6 +871,12 @@ empathy_proxy_equal empathy_proxy_hash empathy_check_available_state +empathy_uint_compare +empathy_protocol_icon_name +empathy_protocol_name_to_display_name +EMPATHY_ARRAY_TYPE_OBJECT +empathy_type_dbus_ao +empathy_signal_connect_weak
@@ -675,18 +888,52 @@ empathy_time_parse empathy_time_to_string_utc empathy_time_to_string_local +empathy_time_to_string_relative
empathy-enum-types EMPATHY_TYPE_CAPABILITIES empathy_capabilities_get_type +EMPATHY_TYPE_CONTACT_LIST_FLAGS +empathy_contact_list_flags_get_type EMPATHY_TYPE_DEBUG_FLAGS empathy_debug_flags_get_type EMPATHY_TYPE_DISPATCH_OPERATION_STATE empathy_dispatch_operation_state_get_type EMPATHY_TYPE_TP_CALL_STATUS empathy_tp_call_status_get_type +EMPATHY_TYPE_FT_ERROR_ENUM +empathy_ft_error_enum_get_type +
+ +
+empathy-location +EMPATHY_LOCATION_COUNTRY_CODE +EMPATHY_LOCATION_COUNTRY +EMPATHY_LOCATION_REGION +EMPATHY_LOCATION_LOCALITY +EMPATHY_LOCATION_AREA +EMPATHY_LOCATION_POSTAL_CODE +EMPATHY_LOCATION_STREET +EMPATHY_LOCATION_BUILDING +EMPATHY_LOCATION_FLOOR +EMPATHY_LOCATION_ROOM +EMPATHY_LOCATION_TEXT +EMPATHY_LOCATION_DESCRIPTION +EMPATHY_LOCATION_URI +EMPATHY_LOCATION_LAT +EMPATHY_LOCATION_LON +EMPATHY_LOCATION_ALT +EMPATHY_LOCATION_ACCURACY +EMPATHY_LOCATION_ACCURACY_LEVEL +EMPATHY_LOCATION_ERROR +EMPATHY_LOCATION_VERTICAL_ERROR_M +EMPATHY_LOCATION_HORIZONTAL_ERROR_M +EMPATHY_LOCATION_SPEED +EMPATHY_LOCATION_BEARING +EMPATHY_LOCATION_CLIMB +EMPATHY_LOCATION_TIMESTAMP
diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/docs/libempathy-gtk/libempathy-gtk-sections.txt empathy-2.28.1.1/docs/libempathy-gtk/libempathy-gtk-sections.txt --- empathy-2.28.1/docs/libempathy-gtk/libempathy-gtk-sections.txt 2009-10-19 18:51:05.000000000 +0200 +++ empathy-2.28.1.1/docs/libempathy-gtk/libempathy-gtk-sections.txt 2009-10-26 18:44:05.000000000 +0100 @@ -18,6 +18,7 @@ empathy_chat_paste empathy_chat_correct_word empathy_chat_is_room +empathy_chat_set_show_contacts EMPATHY_CHAT EMPATHY_IS_CHAT @@ -29,6 +30,24 @@
+empathy-protocol-chooser +EmpathyProtocolChooser +EmpathyProtocolChooser +EmpathyProtocolChooserFilterFunc +empathy_protocol_chooser_new +empathy_protocol_chooser_dup_selected +empathy_protocol_chooser_set_visible + +EMPATHY_PROTOCOL_CHOOSER +EMPATHY_IS_PROTOCOL_CHOOSER +EMPATHY_TYPE_PROTOCOL_CHOOSER +empathy_protocol_chooser_get_type +EMPATHY_PROTOCOL_CHOOSER_CLASS +EMPATHY_IS_PROTOCOL_CHOOSER_CLASS +EMPATHY_PROTOCOL_CHOOSER_GET_CLASS +
+ +
empathy-audio-src EmpathyGstAudioSrc EmpathyGstAudioSrc @@ -87,6 +106,8 @@
empathy-video-widget +EMPATHY_VIDEO_WIDGET_DEFAULT_WIDTH +EMPATHY_VIDEO_WIDGET_DEFAULT_HEIGHT EmpathyVideoWidget EmpathyVideoWidget empathy_video_widget_new @@ -184,6 +205,8 @@ EMPATHY_PREFS_NOTIFICATIONS_ENABLED EMPATHY_PREFS_NOTIFICATIONS_DISABLED_AWAY EMPATHY_PREFS_NOTIFICATIONS_FOCUS +EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN +EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNOUT EMPATHY_PREFS_SOUNDS_ENABLED EMPATHY_PREFS_SOUNDS_DISABLED_AWAY EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE @@ -195,11 +218,14 @@ EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT EMPATHY_PREFS_POPUPS_WHEN_AVAILABLE EMPATHY_PREFS_CHAT_SHOW_SMILEYS +EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS EMPATHY_PREFS_CHAT_THEME +EMPATHY_PREFS_CHAT_ADIUM_PATH EMPATHY_PREFS_CHAT_SPELL_CHECKER_LANGUAGES EMPATHY_PREFS_CHAT_SPELL_CHECKER_ENABLED EMPATHY_PREFS_CHAT_NICK_COMPLETION_CHAR EMPATHY_PREFS_CHAT_AVATAR_IN_ICON +EMPATHY_PREFS_CHAT_WEBKIT_DEVELOPER_TOOLS EMPATHY_PREFS_UI_SEPARATE_CHAT_WINDOWS EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN EMPATHY_PREFS_UI_AVATAR_DIRECTORY @@ -209,10 +235,15 @@ EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM EMPATHY_PREFS_HINTS_CLOSE_MAIN_WINDOW EMPATHY_PREFS_SALUT_ACCOUNT_CREATED -EMPATHY_PREFS_USE_NM +EMPATHY_PREFS_USE_CONN EMPATHY_PREFS_AUTOCONNECT EMPATHY_PREFS_IMPORT_ASKED EMPATHY_PREFS_FILE_TRANSFER_DEFAULT_FOLDER +EMPATHY_PREFS_LOCATION_PUBLISH +EMPATHY_PREFS_LOCATION_RESOURCE_NETWORK +EMPATHY_PREFS_LOCATION_RESOURCE_CELL +EMPATHY_PREFS_LOCATION_RESOURCE_GPS +EMPATHY_PREFS_LOCATION_REDUCE_ACCURACY EmpathyConfNotifyFunc empathy_conf_get empathy_conf_shutdown @@ -276,6 +307,7 @@ EmpathyContactListView empathy_contact_list_view_new empathy_contact_list_view_dup_selected +empathy_contact_list_view_get_flags empathy_contact_list_view_get_selected_group empathy_contact_list_view_get_contact_menu empathy_contact_list_view_get_group_menu @@ -290,6 +322,32 @@
+empathy-theme-adium +EmpathyAdiumData +EmpathyThemeAdium +EmpathyThemeAdium +empathy_theme_adium_new +empathy_adium_path_is_valid +empathy_adium_info_new +EMPATHY_TYPE_ADIUM_DATA +empathy_adium_data_get_type +empathy_adium_data_new +empathy_adium_data_new_with_info +empathy_adium_data_ref +empathy_adium_data_unref +empathy_adium_data_get_info +empathy_adium_data_get_path + +EMPATHY_THEME_ADIUM +EMPATHY_IS_THEME_ADIUM +EMPATHY_TYPE_THEME_ADIUM +empathy_theme_adium_get_type +EMPATHY_THEME_ADIUM_CLASS +EMPATHY_IS_THEME_ADIUM_CLASS +EMPATHY_THEME_ADIUM_GET_CLASS +
+ +
empathy-cell-renderer-expander EmpathyCellRendererExpander EmpathyCellRendererExpander @@ -305,6 +363,21 @@
+empathy-location-manager +EmpathyLocationManager +EmpathyLocationManager +empathy_location_manager_dup_singleton + +EMPATHY_LOCATION_MANAGER +EMPATHY_IS_LOCATION_MANAGER +EMPATHY_TYPE_LOCATION_MANAGER +empathy_location_manager_get_type +EMPATHY_LOCATION_MANAGER_CLASS +EMPATHY_IS_LOCATION_MANAGER_CLASS +EMPATHY_LOCATION_MANAGER_GET_CLASS +
+ +
empathy-contact-list-store EmpathyContactListStoreSort EmpathyContactListStoreCol @@ -398,6 +471,21 @@
+empathy-kludge-label +EmpathyKludgeLabel +EmpathyKludgeLabel +empathy_kludge_label_new + +EMPATHY_KLUDGE_LABEL +EMPATHY_IS_KLUDGE_LABEL +EMPATHY_TYPE_KLUDGE_LABEL +empathy_kludge_label_get_type +EMPATHY_KLUDGE_LABEL_CLASS +EMPATHY_IS_KLUDGE_LABEL_CLASS +EMPATHY_KLUDGE_LABEL_GET_CLASS +
+ +
empathy-cell-renderer-activatable EmpathyCellRendererActivatable EmpathyCellRendererActivatable @@ -439,7 +527,6 @@ empathy_smiley_manager_dup_singleton empathy_smiley_manager_load empathy_smiley_manager_add -empathy_smiley_manager_add_from_pixbuf empathy_smiley_manager_get_all empathy_smiley_manager_parse empathy_smiley_menu_new @@ -472,11 +559,31 @@
+empathy-account-widget +EmpathyAccountWidgetUIDetails +EmpathyAccountWidget +EmpathyAccountWidget +empathy_account_widget_get_widget +empathy_account_widget_new_for_protocol +empathy_account_widget_contains_pending_changes +empathy_account_widget_discard_pending_changes + +EMPATHY_ACCOUNT_WIDGET +EMPATHY_IS_ACCOUNT_WIDGET +EMPATHY_TYPE_ACCOUNT_WIDGET +empathy_account_widget_get_type +EMPATHY_ACCOUNT_WIDGET_CLASS +EMPATHY_IS_ACCOUNT_WIDGET_CLASS +EMPATHY_ACCOUNT_WIDGET_GET_CLASS +
+ +
empathy-theme-manager EmpathyThemeManager EmpathyThemeManager empathy_theme_manager_get empathy_theme_manager_get_themes +empathy_theme_manager_get_adium_themes empathy_theme_manager_create_view EMPATHY_THEME_MANAGER @@ -494,14 +601,13 @@
empathy-account-widget-sip -empathy_account_widget_sip_new +empathy_account_widget_sip_build
-empathy-profile-chooser -empathy_profile_chooser_new -empathy_profile_chooser_dup_selected -empathy_profile_chooser_n_profiles +empathy-plist +empathy_plist_parse_from_file +empathy_plist_parse_from_memory
@@ -522,13 +628,16 @@ empathy-contact-menu EmpathyContactFeatureFlags empathy_contact_menu_new +empathy_contact_add_menu_item_new empathy_contact_chat_menu_item_new -empathy_contact_call_menu_item_new +empathy_contact_audio_call_menu_item_new +empathy_contact_video_call_menu_item_new empathy_contact_log_menu_item_new empathy_contact_info_menu_item_new empathy_contact_edit_menu_item_new empathy_contact_invite_menu_item_new empathy_contact_file_transfer_menu_item_new +empathy_contact_share_my_desktop_menu_item_new
@@ -543,6 +652,17 @@
+empathy-account-widget-private +EmpathyAccountWidgetUIDetails +empathy_account_widget_handle_params +
+ +
+empathy-share-my-desktop +empathy_share_my_desktop_share_with_contact +
+ +
empathy-irc-network-dialog empathy_irc_network_dialog_show
@@ -554,14 +674,21 @@
-empathy-ui-utils +empathy-sound EmpathySound +empathy_sound_play +empathy_sound_stop +empathy_sound_start_playing +empathy_sound_play_full +
+ +
+empathy-ui-utils empathy_gtk_init empathy_uri_regex_dup_singleton empathy_builder_get_file empathy_builder_connect empathy_builder_unref_and_keep_widget -empathy_icon_name_from_account empathy_icon_name_for_presence empathy_icon_name_for_contact empathy_pixbuf_from_data @@ -571,6 +698,7 @@ empathy_pixbuf_scale_down_if_necessary empathy_pixbuf_from_icon_name empathy_pixbuf_from_icon_name_sized +empathy_filename_from_icon_name empathy_text_iter_forward_search empathy_text_iter_backward_search empathy_window_get_is_visible @@ -581,9 +709,9 @@ empathy_toggle_button_set_state_quietly empathy_link_button_new empathy_send_file_with_file_chooser -empathy_sound_play -empathy_sound_play_full -empathy_sound_stop +empathy_receive_file_with_file_chooser +empathy_make_absolute_url +empathy_make_absolute_url_len
@@ -593,25 +721,12 @@ empathy_contact_edit_dialog_show empathy_contact_personal_dialog_show empathy_new_contact_dialog_show -
- -
-empathy-account-widget -empathy_account_widget_handle_params -empathy_account_widget_add_forget_button -empathy_account_widget_generic_new -empathy_account_widget_salut_new -empathy_account_widget_msn_new -empathy_account_widget_jabber_new -empathy_account_widget_icq_new -empathy_account_widget_aim_new -empathy_account_widget_yahoo_new -empathy_account_widget_groupwise_new +empathy_new_contact_dialog_show_with_contact
empathy-account-widget-irc -empathy_account_widget_irc_new +empathy_account_widget_irc_build
@@ -634,6 +749,7 @@ EMPATHY_IMAGE_CONTACT_INFORMATION EMPATHY_IMAGE_GROUP_MESSAGE EMPATHY_IMAGE_VOIP +EMPATHY_IMAGE_VIDEO_CALL EMPATHY_IMAGE_LOG EMPATHY_IMAGE_DOCUMENT_SEND
diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/libempathy/empathy-account-settings.c empathy-2.28.1.1/libempathy/empathy-account-settings.c --- empathy-2.28.1/libempathy/empathy-account-settings.c 2009-10-19 14:08:26.000000000 +0200 +++ empathy-2.28.1.1/libempathy/empathy-account-settings.c 2009-10-26 17:58:13.000000000 +0100 @@ -691,13 +691,15 @@ ret = g_value_get_int (v); break; case G_TYPE_UINT: - ret = CLAMP (G_MININT32, g_value_get_uint (v), G_MAXINT32); + ret = CLAMP (g_value_get_uint (v), (guint) G_MININT32, + G_MAXINT32); break; case G_TYPE_INT64: - ret = CLAMP (G_MININT32, g_value_get_int64 (v), G_MAXINT32); + ret = CLAMP (g_value_get_int64 (v), G_MININT32, G_MAXINT32); break; case G_TYPE_UINT64: - ret = CLAMP (G_MININT32, g_value_get_uint64 (v), G_MAXINT32); + ret = CLAMP (g_value_get_uint64 (v), (guint64) G_MININT32, + G_MAXINT32); break; default: ret = 0; @@ -733,7 +735,7 @@ ret = g_value_get_int64 (v); break; case G_TYPE_UINT64: - ret = CLAMP (G_MININT64, g_value_get_uint64 (v), G_MAXINT64); + ret = CLAMP (g_value_get_uint64 (v), (guint64) G_MININT64, G_MAXINT64); break; default: ret = 0; @@ -766,10 +768,10 @@ ret = g_value_get_uint (v); break; case G_TYPE_INT64: - ret = CLAMP (0, g_value_get_int64 (v), G_MAXUINT32); + ret = CLAMP (g_value_get_int64 (v), 0, G_MAXUINT32); break; case G_TYPE_UINT64: - ret = CLAMP (0, g_value_get_uint64 (v), G_MAXUINT32); + ret = MIN (g_value_get_uint64 (v), G_MAXUINT32); break; default: ret = 0; @@ -806,7 +808,7 @@ ret = MAX (0, g_value_get_int64 (v)); break; case G_TYPE_UINT64: - ret = CLAMP (0, g_value_get_uint64 (v), G_MAXUINT64); + ret = g_value_get_uint64 (v); break; default: ret = 0; diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/libempathy/empathy-dispatcher.c empathy-2.28.1.1/libempathy/empathy-dispatcher.c --- empathy-2.28.1/libempathy/empathy-dispatcher.c 2009-10-19 18:42:01.000000000 +0200 +++ empathy-2.28.1.1/libempathy/empathy-dispatcher.c 2009-10-26 17:58:13.000000000 +0100 @@ -1445,7 +1445,7 @@ if (error != NULL) { - EmpathyDispatcher *dispatcher = EMPATHY_DISPATCHER (object); + EmpathyDispatcher *dispatcher = request_data->dispatcher; EmpathyDispatcherPriv *priv = GET_PRIV (dispatcher); ConnectionData *cd; diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/libempathy-gtk/empathy-avatar-chooser.c empathy-2.28.1.1/libempathy-gtk/empathy-avatar-chooser.c --- empathy-2.28.1/libempathy-gtk/empathy-avatar-chooser.c 2009-10-19 14:08:26.000000000 +0200 +++ empathy-2.28.1.1/libempathy-gtk/empathy-avatar-chooser.c 2009-10-26 17:58:13.000000000 +0100 @@ -811,7 +811,7 @@ NULL, NULL); if (handled) { - /* this in turn calls empathy_avatar_new(), which assumes + /* this in turn calls empathy_avatar_new (), which assumes * ownership of data. */ avatar_chooser_set_image_from_data (chooser, data, diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/libempathy-gtk/empathy-protocol-chooser.c empathy-2.28.1.1/libempathy-gtk/empathy-protocol-chooser.c --- empathy-2.28.1/libempathy-gtk/empathy-protocol-chooser.c 2009-10-02 16:12:37.000000000 +0200 +++ empathy-2.28.1.1/libempathy-gtk/empathy-protocol-chooser.c 2009-10-23 17:26:58.000000000 +0200 @@ -76,7 +76,7 @@ COL_ICON, COL_LABEL, COL_CM, - COL_PROTOCOL, + COL_PROTOCOL_NAME, COL_IS_GTALK, COL_COUNT }; @@ -85,7 +85,7 @@ GTK_TYPE_COMBO_BOX); static gint -protocol_chooser_sort_protocol_value (TpConnectionManagerProtocol *protocol) +protocol_chooser_sort_protocol_value (const gchar *protocol_name) { guint i; const gchar *names[] = { @@ -97,7 +97,7 @@ for (i = 0 ; names[i]; i++) { - if (strcmp (protocol->name, names[i]) == 0) + if (strcmp (protocol_name, names[i]) == 0) return i; } @@ -110,22 +110,22 @@ GtkTreeIter *iter_b, gpointer user_data) { - TpConnectionManagerProtocol *protocol_a; - TpConnectionManagerProtocol *protocol_b; + gchar *protocol_a; + gchar *protocol_b; gint cmp = 0; gtk_tree_model_get (model, iter_a, - COL_PROTOCOL, &protocol_a, + COL_PROTOCOL_NAME, &protocol_a, -1); gtk_tree_model_get (model, iter_b, - COL_PROTOCOL, &protocol_b, + COL_PROTOCOL_NAME, &protocol_b, -1); cmp = protocol_chooser_sort_protocol_value (protocol_a); cmp -= protocol_chooser_sort_protocol_value (protocol_b); if (cmp == 0) { - cmp = strcmp (protocol_a->name, protocol_b->name); + cmp = strcmp (protocol_a, protocol_b); /* only happens for jabber where there is one entry for gtalk and one for * non-gtalk */ if (cmp == 0) @@ -139,6 +139,8 @@ } } + g_free (protocol_a); + g_free (protocol_b); return cmp; } @@ -169,7 +171,6 @@ { GtkTreeIter titer; gboolean valid; - const TpConnectionManagerProtocol *haze_proto; TpConnectionManager *haze_cm; /* let's this CM replace the haze implementation */ @@ -178,28 +179,26 @@ while (valid) { + gchar *haze_proto_name = NULL; + gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &titer, - COL_PROTOCOL, &haze_proto, + COL_PROTOCOL_NAME, &haze_proto_name, COL_CM, &haze_cm, -1); if (haze_cm == NULL) continue; - if (haze_proto == NULL) - { - g_object_unref (haze_cm); - continue; - } - if (!tp_strdiff (haze_cm->name, "haze") && - !tp_strdiff (haze_proto->name, proto->name)) + !tp_strdiff (haze_proto_name, proto->name)) { gtk_list_store_remove (priv->store, &titer); g_object_unref (haze_cm); + g_free (haze_proto_name); break; } g_object_unref (haze_cm); + g_free (haze_proto_name); valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (priv->store), &titer); } @@ -219,7 +218,7 @@ COL_ICON, icon_name, COL_LABEL, display_name, COL_CM, cm, - COL_PROTOCOL, proto, + COL_PROTOCOL_NAME, proto->name, COL_IS_GTALK, FALSE, -1); @@ -232,7 +231,7 @@ COL_ICON, "im-google-talk", COL_LABEL, display_name, COL_CM, cm, - COL_PROTOCOL, proto, + COL_PROTOCOL_NAME, proto->name, COL_IS_GTALK, TRUE, -1); } @@ -278,16 +277,16 @@ G_TYPE_STRING, /* Icon name */ G_TYPE_STRING, /* Label */ G_TYPE_OBJECT, /* CM */ - G_TYPE_POINTER, /* protocol */ + G_TYPE_STRING, /* protocol name */ G_TYPE_BOOLEAN); /* is gtalk */ /* Set the protocol sort function */ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->store), - COL_PROTOCOL, + COL_PROTOCOL_NAME, protocol_chooser_sort_func, NULL, NULL); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (priv->store), - COL_PROTOCOL, + COL_PROTOCOL_NAME, GTK_SORT_ASCENDING); gtk_combo_box_set_model (GTK_COMBO_BOX (object), @@ -394,17 +393,30 @@ EmpathyProtocolChooser *protocol_chooser = user_data; EmpathyProtocolChooserPriv *priv = GET_PRIV (protocol_chooser); TpConnectionManager *cm = NULL; - TpConnectionManagerProtocol *protocol = NULL; + gchar *protocol_name = NULL; gboolean visible = FALSE; - gtk_tree_model_get (model, iter, COL_CM, &cm, COL_PROTOCOL, &protocol, -1); + gtk_tree_model_get (model, iter, + COL_CM, &cm, + COL_PROTOCOL_NAME, &protocol_name, + -1); - if (cm != NULL && protocol != NULL) + if (cm != NULL && protocol_name != NULL) { - visible = priv->filter_func (cm, protocol, priv->filter_user_data); - g_object_unref (cm); + TpConnectionManagerProtocol *protocol; + + protocol = (TpConnectionManagerProtocol *) + tp_connection_manager_get_protocol (cm, protocol_name); + + if (protocol != NULL) + { + visible = priv->filter_func (cm, protocol, priv->filter_user_data); + } } + if (cm != NULL) + g_object_unref (cm); + return visible; } @@ -444,9 +456,16 @@ if (protocol != NULL) { + gchar *protocol_name = NULL; + gtk_tree_model_get (GTK_TREE_MODEL (cur_model), &iter, - COL_PROTOCOL, protocol, + COL_PROTOCOL_NAME, &protocol_name, -1); + + *protocol = (TpConnectionManagerProtocol *) + tp_connection_manager_get_protocol (cm, protocol_name); + + g_free (protocol_name); } if (is_gtalk != NULL) diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/libempathy-gtk/empathy-spell.c empathy-2.28.1.1/libempathy-gtk/empathy-spell.c --- empathy-2.28.1/libempathy-gtk/empathy-spell.c 2009-10-01 18:17:59.000000000 +0200 +++ empathy-2.28.1.1/libempathy-gtk/empathy-spell.c 2009-10-23 17:26:58.000000000 +0200 @@ -219,7 +219,12 @@ lang->config = enchant_broker_init (); lang->speller = enchant_broker_request_dict (lang->config, strv[i]); - languages = g_list_append (languages, lang); + if (lang->speller == NULL) { + DEBUG ("language '%s' has no valid dict", strv[i]); + } else { + languages = g_list_append (languages, lang); + } + i++; } diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/libempathy-gtk/empathy-theme-adium.c empathy-2.28.1.1/libempathy-gtk/empathy-theme-adium.c --- empathy-2.28.1/libempathy-gtk/empathy-theme-adium.c 2009-10-19 15:46:55.000000000 +0200 +++ empathy-2.28.1.1/libempathy-gtk/empathy-theme-adium.c 2009-10-26 17:58:13.000000000 +0100 @@ -324,7 +324,10 @@ if (s > last) { /* Append the text between last link (or the * start of the message) and this link */ - g_string_append_len (string, text + last, s - last); + gchar *str; + str = g_markup_escape_text (text + last, s - last); + g_string_append (string, str); + g_free (str); } /* Append the link inside tag */ @@ -342,7 +345,10 @@ if (e < strlen (text)) { /* Append the text after the last link */ - g_string_append_len (string, text + e, strlen (text) - e); + gchar *str; + str = g_markup_escape_text (text + e, strlen (text) - e); + g_string_append (string, str); + g_free (str); } g_free (ret); @@ -372,6 +378,8 @@ g_free (ret); text = ret = g_string_free (string, FALSE); + } else { + text = ret = g_markup_escape_text (text, -1); } g_match_info_free (match_info); @@ -725,11 +733,15 @@ EmpathyThemeAdiumPriv *priv = GET_PRIV (theme); if (priv->data->status_html) { + gchar *str_escaped; + + str_escaped = g_markup_escape_text (str, -1); theme_adium_append_html (theme, "appendMessage", priv->data->status_html, priv->data->status_len, - str, NULL, NULL, NULL, NULL, "event", - empathy_time_get_current ()); + str_escaped, NULL, NULL, NULL, NULL, + "event", empathy_time_get_current ()); + g_free (str_escaped); } /* There is no last contact */ diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/NEWS empathy-2.28.1.1/NEWS --- empathy-2.28.1/NEWS 2009-10-19 18:43:31.000000000 +0200 +++ empathy-2.28.1.1/NEWS 2009-10-26 18:36:51.000000000 +0100 @@ -1,3 +1,34 @@ +NEW in 2.28.1.1 +=============== + +The "No more 2.28 blockers \o/" release. + +This release in the stable 2.28 branch fixes various crashes and +a bug making the desktop hang while Empathy has a menu open. +It also solves a potential security issue by ensuring that messages are +always escaped before being displayed in Webkit (#599640). + +We strongly recommend that all distributions upgrade to this version. + +Bugs fixed: + - Fixed #591360, Incoming message while menu is open freezes X (Rob Bradford) + - Fixed #598452, crashed with SIGSEGV in contact_list_store_iface_setup() + - Fixed #599612, crash when typoing room name (Guillaume Desmottes) + - Fixed #594654, empathy crashed with SIGSEGV in empathy_account_settings_get_default() + - Fixed #598332, Crash when CM crashes during a channel request. + - Fixed #598432, empathy crashed with SIGSEGV in empathy_call_window_audio_input_level_changed_cb() + - Fixed #598453, empathy crashed with SIGSEGV in empathy_call_window_got_self_contact_cb() + - Fixed #598628, Empathy start isn't idempotent + - Fixed #598954, Empathy crashes with SIGSEGV when trying spellcheck (Felix Kaser) + - Fixed #599386, Empathy protocol chooser shouldn't cache TpConnectionManagerProtocol (Guillaume Desmottes) + +Translations: + - Updated et Translation (Ivar Smolin) + - Updated fi Translation (Tommi Vainikainen) + - Updated lt Translation (Žygimantas Beručka) + - Updated ru Translation (Leonid Kanter) + - Updated th Translation (Theppitak Karoonboonyanan) + NEW in 2.28.1 ============= diff -Nru --exclude '*html' --exclude '*xml' --exclude '*.sgml' --exclude configure --exclude '*autoconf.patch' --exclude '*.po' empathy-2.28.1/src/empathy-chat-window.c empathy-2.28.1.1/src/empathy-chat-window.c --- empathy-2.28.1/src/empathy-chat-window.c 2009-10-19 17:41:21.000000000 +0200 +++ empathy-2.28.1.1/src/empathy-chat-window.c 2009-10-26 17:58:13.000000000 +0100 @@ -113,6 +113,8 @@ { "GTK_NOTEBOOK_TAB", GTK_TARGET_SAME_APP, DND_DRAG_TYPE_TAB }, }; +static void chat_window_update (EmpathyChatWindow *window); + G_DEFINE_TYPE (EmpathyChatWindow, empathy_chat_window, G_TYPE_OBJECT); static void @@ -295,6 +297,17 @@ } static void +_submenu_notify_visible_changed_cb (GObject *object, + GParamSpec *pspec, + gpointer userdata) +{ + g_signal_handlers_disconnect_by_func (object, + _submenu_notify_visible_changed_cb, + userdata); + chat_window_update (EMPATHY_CHAT_WINDOW (userdata)); +} + +static void chat_window_update (EmpathyChatWindow *window) { EmpathyChatWindowPriv *priv = GET_PRIV (window); @@ -311,8 +324,7 @@ gboolean avatar_in_icon; GtkWidget *chat; GtkWidget *chat_close_button; - GtkWidget *submenu; - GtkWidget *menu; + GtkWidget *menu, *submenu, *orig_submenu; /* Get information */ page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)); @@ -336,9 +348,17 @@ /* Update Contact menu */ menu = gtk_ui_manager_get_widget (priv->ui_manager, "/chats_menubar/menu_contact"); - submenu = empathy_chat_get_contact_menu (priv->current_chat); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu), submenu); - gtk_widget_show (menu); + orig_submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (menu)); + if (orig_submenu == NULL || !GTK_WIDGET_VISIBLE (orig_submenu)) { + submenu = empathy_chat_get_contact_menu (priv->current_chat); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu), submenu); + gtk_widget_show (menu); + } else { + empathy_signal_connect_weak (orig_submenu, + "notify::visible", + (GCallback)_submenu_notify_visible_changed_cb, + G_OBJECT (window)); + } /* Update window title */ if (n_chats == 1) {