blam r642 - in trunk: . src



Author: cmartin
Date: Mon Sep 15 15:28:22 2008
New Revision: 642
URL: http://svn.gnome.org/viewvc/blam?rev=642&view=rev

Log:
Use Glib.Object.Data instead of UserData to store the group name.

This brings us again into completely managed code.

Modified:
   trunk/ChangeLog
   trunk/src/ChannelList.cs

Modified: trunk/src/ChannelList.cs
==============================================================================
--- trunk/src/ChannelList.cs	(original)
+++ trunk/src/ChannelList.cs	Mon Sep 15 15:28:22 2008
@@ -378,8 +378,6 @@
         public event MenuItemSelectedHandler RemoveSelected;
         public event MenuItemSelectedHandler RefreshSelected;
 
-        private ArrayList allocs;
-
         public void Activate (Gdk.EventButton eb) 
         {
             allocs = new ArrayList();
@@ -416,8 +414,7 @@
 
             foreach(ChannelGroup group in Application.TheApp.CCollection.Groups){
                 MenuItem i = new MenuItem(group.Name);
-                i.UserData = Marshal.StringToHGlobalUni(group.Name);
-                allocs.Add(i.UserData);
+                i.Data["title"] = group.Name;
                 i.Activated += MoveChannelToGroupCb;
                 i.Sensitive = true;
                 menu.Append(i);
@@ -434,7 +431,7 @@
         public void MoveChannelToGroupCb(object obj, EventArgs args)
         {
             MenuItem item = obj as MenuItem;
-            string groupname = Marshal.PtrToStringUni(item.UserData);
+            string groupname = item.Data["title"] as string;
             TreeModel model;
             TreeIter iter;
             Application.TheApp.ChannelList.Selection.GetSelected(out model, out iter);
@@ -450,11 +447,6 @@
             }
 
             Application.TheApp.CCollection.Remove(chan as IChannel);
-
-            foreach(IntPtr ptr in allocs){
-                Marshal.FreeHGlobal(ptr);
-                allocs.Remove(ptr);
-            }
         }
 
         public void EmitMarkAsReadCb (object obj, EventArgs args)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]