ekiga r6925 - in trunk: . lib/engine/components/gmconf-personal-details
- From: jpuydt svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r6925 - in trunk: . lib/engine/components/gmconf-personal-details
- Date: Thu, 11 Sep 2008 11:36:38 +0000 (UTC)
Author: jpuydt
Date: Thu Sep 11 11:36:37 2008
New Revision: 6925
URL: http://svn.gnome.org/viewvc/ekiga?rev=6925&view=rev
Log:
Made sure the notifiers are removed, to avoid crashes.
Modified:
trunk/ChangeLog
trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.cpp
trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.h
Modified: trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.cpp
==============================================================================
--- trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.cpp (original)
+++ trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.cpp Thu Sep 11 11:36:37 2008
@@ -51,12 +51,22 @@
Gmconf::PersonalDetails::PersonalDetails ()
{
- gm_conf_notifier_add ("/apps/ekiga/general/personal_data/full_name",
- something_changed_nt, this);
- gm_conf_notifier_add ("/apps/ekiga/general/personal_data/short_status",
- something_changed_nt, this);
- gm_conf_notifier_add ("/apps/ekiga/general/personal_data/long_status",
- something_changed_nt, this);
+ full_name_notifier
+ = gm_conf_notifier_add ("/apps/ekiga/general/personal_data/full_name",
+ something_changed_nt, this);
+ short_status_notifier
+ = gm_conf_notifier_add ("/apps/ekiga/general/personal_data/short_status",
+ something_changed_nt, this);
+ long_status_notifier
+ = gm_conf_notifier_add ("/apps/ekiga/general/personal_data/long_status",
+ something_changed_nt, this);
+}
+
+Gmconf::PersonalDetails::~PersonalDetails ()
+{
+ gm_conf_notifier_remove (full_name_notifier);
+ gm_conf_notifier_remove (short_status_notifier);
+ gm_conf_notifier_remove (long_status_notifier);
}
const std::string
Modified: trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.h
==============================================================================
--- trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.h (original)
+++ trunk/lib/engine/components/gmconf-personal-details/gmconf-personal-details.h Thu Sep 11 11:36:37 2008
@@ -48,7 +48,7 @@
PersonalDetails ();
- virtual ~PersonalDetails () {};
+ virtual ~PersonalDetails ();
/*** Service Implementation ***/
public:
@@ -77,6 +77,11 @@
/*** public but only to be called by C callbacks ***/
public:
void something_changed ();
+
+ private:
+ void* full_name_notifier;
+ void* short_status_notifier;
+ void* long_status_notifier;
};
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]