packages (DEVEL): empathy/empathy.spec, empathy/empathy-bug585885.patch (NE...

patrys patrys at pld-linux.org
Tue Jun 16 20:40:59 CEST 2009


Author: patrys                       Date: Tue Jun 16 18:40:59 2009 GMT
Module: packages                      Tag: DEVEL
---- Log message:
- add BR: libchamplain

---- Files affected:
packages/empathy:
   empathy.spec (1.47.2.2 -> 1.47.2.3) , empathy-bug585885.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/empathy/empathy.spec
diff -u packages/empathy/empathy.spec:1.47.2.2 packages/empathy/empathy.spec:1.47.2.3
--- packages/empathy/empathy.spec:1.47.2.2	Mon Jun 15 20:31:00 2009
+++ packages/empathy/empathy.spec	Tue Jun 16 20:40:53 2009
@@ -3,11 +3,12 @@
 Summary(pl.UTF-8):	Bardzo łatwy w użyciu klient Telepathy dla GNOME
 Name:		empathy
 Version:	2.27.3
-Release:	1
+Release:	1.1
 License:	GPL v2
 Group:		Applications/Communications
 Source0:	http://ftp.gnome.org/pub/GNOME/sources/empathy/2.27/%{name}-%{version}.tar.bz2
 # Source0-md5:	082624ff1ea1086b8f64658a0949fcc5
+Patch0:		%{name}-bug585885.patch
 URL:		http://live.gnome.org/Empathy
 BuildRequires:	GConf2-devel >= 2.26.0
 BuildRequires:	autoconf >= 2.59
@@ -26,6 +27,7 @@
 BuildRequires:	intltool >= 0.40.0
 BuildRequires:	iso-codes >= 0.35
 BuildRequires:	libcanberra-gtk-devel >= 0.4
+BuildRequires:	libchamplain-devel >= 0.3
 BuildRequires:	libglade2-devel >= 1:2.6.2
 BuildRequires:	libnotify-devel >= 0.4.4
 BuildRequires:	libtool
@@ -126,6 +128,7 @@
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %{__intltoolize}
@@ -226,6 +229,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.47.2.3  2009/06/16 18:40:53  patrys
+- add BR: libchamplain
+
 Revision 1.47.2.2  2009/06/15 18:31:00  patrys
 - 2.27.3
 

================================================================
Index: packages/empathy/empathy-bug585885.patch
diff -u /dev/null packages/empathy/empathy-bug585885.patch:1.1
--- /dev/null	Tue Jun 16 20:40:59 2009
+++ packages/empathy/empathy-bug585885.patch	Tue Jun 16 20:40:53 2009
@@ -0,0 +1,95 @@
+diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c
+index 82384ac..321d199 100644
+--- a/libempathy-gtk/empathy-theme-adium.c
++++ b/libempathy-gtk/empathy-theme-adium.c
+@@ -500,7 +500,8 @@ theme_adium_append_message (EmpathyChatView *view,
+ 	}
+ 
+ 	/* Get the right html/func to add the message */
+-	if (priv->last_contact == sender) {
++	func = "appendMessage";
++	if (empathy_contact_equal (priv->last_contact, sender)) {
+ 		func = "appendNextMessage";
+ 		if (empathy_contact_is_user (sender)) {
+ 			html = priv->out_nextcontent_html;
+@@ -512,7 +513,6 @@ theme_adium_append_message (EmpathyChatView *view,
+ 		}
+ 	}
+ 	if (!html) {
+-		func = "appendMessage";
+ 		if (empathy_contact_is_user (sender)) {
+ 			html = priv->out_content_html;
+ 			len = priv->out_content_len;
+diff --git a/libempathy-gtk/empathy-theme-boxes.c b/libempathy-gtk/empathy-theme-boxes.c
+index 1991329..64d95d4 100644
+--- a/libempathy-gtk/empathy-theme-boxes.c
++++ b/libempathy-gtk/empathy-theme-boxes.c
+@@ -210,7 +210,7 @@ theme_boxes_maybe_append_header (EmpathyThemeBoxes *theme,
+ 	/* Only insert a header if the previously inserted block is not the same
+ 	 * as this one.
+ 	 */
+-	if (last_contact == contact) {
++	if (empathy_contact_equal (last_contact, contact)) {
+ 		return;
+ 	}
+ 
+diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
+index 8e07fb9..bad6ef4 100644
+--- a/libempathy/empathy-contact.c
++++ b/libempathy/empathy-contact.c
+@@ -1082,3 +1082,40 @@ empathy_contact_set_location (EmpathyContact *contact,
+   priv->location = g_hash_table_ref (location);
+   g_object_notify (G_OBJECT (contact), "location");
+ }
++
++/**
++ * empathy_contact_equal:
++ * @contact1: an #EmpathyContact
++ * @contact2: an #EmpathyContact
++ *
++ * Returns FALSE if one of the contacts is NULL but the other is not.
++ * Otherwise returns TRUE if both pointer are equal or if they bith
++ * refer to the same id.
++ * It's only necessary to call this function if your contact objects
++ * come from logs where contacts are created dynamically and comparing
++ * pointers is not enough.
++ */
++gboolean
++empathy_contact_equal (gconstpointer contact1,
++                       gconstpointer contact2)
++{
++  EmpathyContact *c1;
++  EmpathyContact *c2;
++  const gchar *id1;
++  const gchar *id2;
++
++  if ((contact1 == NULL) != (contact2 == NULL)) {
++    return FALSE;
++  }
++  if (contact1 == contact2) {
++    return TRUE;
++  }
++  c1 = EMPATHY_CONTACT (contact1);
++  c2 = EMPATHY_CONTACT (contact2);
++  id1 = empathy_contact_get_id (c1);
++  id2 = empathy_contact_get_id (c2);
++  if (!tp_strdiff (id1, id2)) {
++    return TRUE;
++  }
++  return FALSE;
++}
+diff --git a/libempathy/empathy-contact.h b/libempathy/empathy-contact.h
+index f441876..f888313 100644
+--- a/libempathy/empathy-contact.h
++++ b/libempathy/empathy-contact.h
+@@ -125,7 +125,9 @@ gboolean empathy_avatar_save_to_file (EmpathyAvatar *avatar,
+ 
+ GHashTable * empathy_contact_get_location (EmpathyContact *contact);
+ void empathy_contact_set_location (EmpathyContact *contact,
+-  GHashTable *location);
++    GHashTable *location);
++gboolean empathy_contact_equal (gconstpointer contact1,
++    gconstpointer contact2);
+ 
+ G_END_DECLS
+ 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/empathy/empathy.spec?r1=1.47.2.2&r2=1.47.2.3&f=u



More information about the pld-cvs-commit mailing list