[ekiga] Fixed big bug in the presentity view code
- From: Julien Puydt <jpuydt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [ekiga] Fixed big bug in the presentity view code
- Date: Tue, 8 Dec 2009 20:04:47 +0000 (UTC)
commit f6aab87941a7f43efe0c36d54c7e46267bdec949
Author: Julien Puydt <jpuydt gnome org>
Date: Tue Dec 8 18:44:22 2009 +0100
Fixed big bug in the presentity view code
The code was taking a pointer out of a smart pointer, and then attached it to another one... that was bound to fail.
Now it does no memory management, which is pretty bad too, but is less crashy...
lib/engine/gui/gtk-frontend/presentity-view.cpp | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/lib/engine/gui/gtk-frontend/presentity-view.cpp b/lib/engine/gui/gtk-frontend/presentity-view.cpp
index 7198edb..190f398 100644
--- a/lib/engine/gui/gtk-frontend/presentity-view.cpp
+++ b/lib/engine/gui/gtk-frontend/presentity-view.cpp
@@ -39,7 +39,7 @@
struct _PresentityViewPrivate
{
- Ekiga::PresentityPtr presentity;
+ Ekiga::Presentity* presentity;
boost::signals::connection updated_conn;
boost::signals::connection removed_conn;
@@ -63,7 +63,7 @@ static void on_presentity_removed (PresentityView* self);
/* declaration of internal api */
static void presentity_view_set_presentity (PresentityView* self,
- Ekiga::PresentityPtr presentity);
+ Ekiga::Presentity* presentity);
static void presentity_view_unset_presentity (PresentityView* self);
@@ -99,7 +99,7 @@ on_presentity_removed (PresentityView* self)
static void
presentity_view_set_presentity (PresentityView* self,
- Ekiga::PresentityPtr presentity)
+ Ekiga::Presentity* presentity)
{
g_return_if_fail ( !self->priv->presentity);
@@ -115,7 +115,7 @@ presentity_view_unset_presentity (PresentityView* self)
{
if (self->priv->presentity) {
- self->priv->presentity.reset ();
+ self->priv->presentity = NULL;
self->priv->updated_conn.disconnect ();
self->priv->removed_conn.disconnect ();
}
@@ -153,7 +153,7 @@ presentity_view_set_property (GObject* obj,
case PRESENTITY_VIEW_PROP_PRESENTITY:
presentity = (Ekiga::Presentity*)g_value_get_pointer (value);
- presentity_view_set_presentity (self, Ekiga::PresentityPtr(presentity));
+ presentity_view_set_presentity (self, presentity);
break;
@@ -195,6 +195,8 @@ presentity_view_init (GTypeInstance* instance,
self->priv = new PresentityViewPrivate;
+ self->priv->presentity = NULL;
+
self->priv->presence_image = gtk_image_new ();
gtk_box_pack_start (GTK_BOX (self), self->priv->presence_image,
FALSE, FALSE, 2);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]