--- trunk/lib/engine/components/resource-list/rl-entry-ref.cpp 2009/01/05 17:10:55 7516 +++ trunk/lib/engine/components/resource-list/rl-entry-ref.cpp 2009/03/17 20:28:41 7784 @@ -37,6 +37,8 @@ #include "config.h" +#include + #include "rl-entry-ref.h" #include "presence-core.h" @@ -131,8 +133,7 @@ sigc::mem_fun (this, &RL::EntryRef::refresh)); if ( !uri.empty ()) - populated = - presence_core->populate_presentity_menu (*this, uri, builder) + populated = presence_core->populate_presentity_menu (gmref_ptr (this), uri, builder) || populated; return populated; --- trunk/lib/engine/components/resource-list/rl-entry.cpp 2009/01/05 17:10:55 7516 +++ trunk/lib/engine/components/resource-list/rl-entry.cpp 2009/03/17 20:28:41 7784 @@ -37,6 +37,8 @@ #include "config.h" +#include + #include "rl-entry.h" #include "presence-core.h" @@ -144,8 +146,7 @@ sigc::mem_fun (this, &RL::Entry::refresh)); if ( !uri.empty ()) - populated = - presence_core->populate_presentity_menu (*this, uri, builder) + populated = presence_core->populate_presentity_menu (gmref_ptr (this), uri, builder) || populated; return populated; --- trunk/lib/engine/components/resource-list/rl-list.cpp 2009/01/05 17:10:55 7516 +++ trunk/lib/engine/components/resource-list/rl-list.cpp 2009/03/17 20:28:41 7784 @@ -38,6 +38,7 @@ #include "config.h" #include +#include #include "rl-list.h" @@ -320,8 +321,9 @@ && child->name != NULL && xmlStrEqual (BAD_CAST "list", child->name)) { - gmref_ptr list = new List (core, path, - list_pos, display_name, child); + gmref_ptr list = gmref_ptr (new List (core, path, + list_pos, display_name, + child)); list->entry_added.connect (entry_added.make_slot ()); list->entry_updated.connect (entry_updated.make_slot ()); list->entry_removed.connect (entry_removed.make_slot ()); @@ -336,8 +338,10 @@ && child->name != NULL && xmlStrEqual (BAD_CAST "entry", child->name)) { - gmref_ptr entry = new Entry (core, path, - entry_pos, display_name, child); + gmref_ptr entry = gmref_ptr (new Entry (core, path, + entry_pos, + display_name, + child)); std::list conns; conns.push_back (entry->updated.connect (sigc::bind (entry_updated.make_slot (), entry))); conns.push_back (entry->removed.connect (sigc::bind (entry_removed.make_slot (), entry)));