Author: lluis
Date: 2007-02-19 18:11:38 -0500 (Mon, 19 Feb 2007)
New Revision: 73140
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libstetic.dll
trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libsteticui.dll
Log:
* lib/libsteticui.dll, lib/libstetic.dll: Updated from SVN. Fixes some
memory leaks and bug #79453.
* MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs: Explicitely
destroy notebook children, since notebook doesnt do it because of a
gtk bug.
* MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs: Some fixes in the
dispose code.
Modified: trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog 2007-02-19
23:09:04 UTC (rev 73139)
+++ trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog 2007-02-19
23:11:38 UTC (rev 73140)
@@ -1,3 +1,13 @@
+2007-02-20 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * lib/libsteticui.dll, lib/libstetic.dll: Updated from SVN. Fixes some
+ memory leaks and bug #79453.
+ * MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs: Explicitely
+ destroy notebook children, since notebook doesnt do it because of a
+ gtk bug.
+ * MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs: Some fixes in the
+ dispose code.
+
2007-02-16 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* MonoDevelop.GtkCore.NodeBuilders/ProjectFolderNodeBuilderExtension.cs,
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs
2007-02-19 23:09:04 UTC (rev 73139)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs
2007-02-19 23:11:38 UTC (rev 73140)
@@ -104,7 +104,9 @@
public void RemoveButton (int npage)
{
notebook.RemovePage (npage);
- toolbar.Remove (toolbar.Children [npage]);
+ Gtk.Widget cw = toolbar.Children [npage];
+ toolbar.Remove (cw);
+ cw.Destroy ();
ShowPage (0);
}
@@ -154,9 +156,19 @@
IdeApp.Workbench.ActiveDocumentChanged -= new
EventHandler (OnActiveDocumentChanged);
Gtk.Widget w = content.Control;
content.Dispose ();
- w.Destroy ();
+
+ // Remove and destroy the contents of the Notebook,
since the destroy event is
+ // not propagated to pages in some gtk versions.
+
+ foreach (Gtk.Widget cw in notebook.Children) {
+ Gtk.Widget lw = notebook.GetTabLabel (cw);
+ notebook.Remove (cw);
+ cw.Destroy ();
+ if (lw != null)
+ lw.Destroy ();
+ }
+
content = null;
- box.Destroy ();
box = null;
base.Dispose ();
}
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
2007-02-19 23:09:04 UTC (rev 73139)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
2007-02-19 23:11:38 UTC (rev 73140)
@@ -161,17 +161,16 @@
designer.ComponentNameChanged -= OnComponentNameChanged;
designer.RootComponentChanged -= OnRootComponentChanged;
- if (designerPage != null) {
- designerPage.Dispose ();
+ if (designerPage != null)
designerPage = null;
- }
+
if (actionsPage != null) {
- actionsPage.Dispose ();
- actionsBox.Dispose ();
- actionsBox.Destroy ();
+ actionsBox.BindField -= OnBindActionField;
+ actionsBox.ModifiedChanged -= OnActionshanged;
actionsBox = null;
+ actionsPage = null;
}
- designer.Dispose ();
+ // designer.Dispose() will be called when the designer
is destroyed.
designer = null;
gproject.Reloaded += OnReloadProject;
}
@@ -180,6 +179,7 @@
{
CloseDesigner ();
gproject.Reloaded -= OnReloadProject;
+ codeBinder = null;
base.Dispose ();
}
@@ -260,8 +260,10 @@
codeBinder.UpdateBindings (fileName);
if (!ErrorMode) {
- designer.Save ();
- actionsBox.Save ();
+ if (designer != null)
+ designer.Save ();
+ if (actionsBox != null)
+ actionsBox.Save ();
}
string newBuildFile =
GuiBuilderService.GetBuildCodeFileName (gproject.Project, window.RootWidget);
Modified: trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libstetic.dll
===================================================================
(Binary files differ)
Modified: trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libsteticui.dll
===================================================================
(Binary files differ)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches