GtkSharp/glib
Bertrand Lorentz ab61fbccbd glib: Fix crash when freeing lists with elements typed as interfaces
If a GList or a GSList had its element type set to a GInterface, and if
the elements were marked as owned, it would end up freeing those
elements with g_free(), which would lead to a crash.

They need to be unreffed with g_object_unref, but the criteria for that
was whether the element type is assignable to GLib.Object. This is not
true for GInterface types.

We now first check if the element type is an opaque. If not, and if it's
assignable to GLib.IWrapper, we then use g_object_unref.

From what I can see, all GLib.IWrapper subclasses that not opaque can be
unreffed with g_object_unref.
2012-11-18 16:06:34 +01:00
..
.gitignore
Argv.cs
ConnectBeforeAttribute.cs
DefaultSignalHandlerAttribute.cs
DestroyNotify.cs
ExceptionManager.cs 2007-03-08 Mike Kestner <mkestner@novell.com> 2007-03-08 20:28:24 +00:00
FileUtils.cs
GException.cs
GInterfaceAdapter.cs Fix a crash during initialization of interfaces (bxc#8447) 2012-11-17 17:34:50 +01:00
GInterfaceAttribute.cs 2007-09-11 Mike Kestner <mkestner@novell.com> 2007-09-11 20:34:24 +00:00
glib-api.xml glib: Add GIOCondition symbol to glib-api.xml 2012-11-11 11:46:40 +01:00
glib-sharp-3.0.pc.in
glib-sharp.dll.config.in
glib.csproj Add a SynchronizationContext implementation for GLib (bnc#621444) 2012-11-08 22:33:46 +01:00
GLibSynchronizationContext.cs Add a SynchronizationContext implementation for GLib (bnc#621444) 2012-11-08 22:33:46 +01:00
Global.cs Don't release const strings in GLib.Global. 2012-04-21 17:38:10 -05:00
GString.cs
GType.cs glib: Use dictionaries to store type information in GType class 2012-11-04 16:58:49 +01:00
GTypeAttribute.cs
Idle.cs Remove source delegates by id. 2011-10-13 05:23:39 -05:00
InitiallyUnowned.cs Handle floating refs in InitiallyUnowned 2011-06-11 19:08:21 +02:00
IOChannel.cs
IWrapper.cs
KeyFile.cs
List.cs
ListBase.cs glib: Fix crash when freeing lists with elements typed as interfaces 2012-11-18 16:06:34 +01:00
Log.cs 2009-09-03 Christian Hoff <christian_hoff@gmx.net> 2009-09-03 19:50:53 +00:00
MainContext.cs
MainLoop.cs 2009-09-03 Christian Hoff <christian_hoff@gmx.net> 2009-09-03 19:50:53 +00:00
Makefile.am Add a SynchronizationContext implementation for GLib (bnc#621444) 2012-11-08 22:33:46 +01:00
ManagedValue.cs
Markup.cs 2009-09-03 Christian Hoff <christian_hoff@gmx.net> 2009-09-03 19:50:53 +00:00
Marshaller.cs glib: Switch to generic collections in Marshaller and ValueArray 2012-11-04 16:58:49 +01:00
MissingIntPtrCtorException.cs 2004-06-25 Mike Kestner <mkestner@ximian.com> 2004-06-25 18:42:19 +00:00
NotifyHandler.cs
Object.cs glib: add missing lock statements for Objects collection 2012-10-13 15:54:50 +02:00
ObjectManager.cs Improve MissingCtorException message. 2012-03-28 22:10:47 -05:00
Opaque.cs
ParamSpec.cs ParamSpec: Add override modifier to the ToString method 2011-12-03 16:41:21 +01:00
Priority.cs 2009-05-03 Stephane Delcroix <sdelcroix@novell.com> 2009-05-03 19:34:22 +00:00
PropertyAttribute.cs 2008-06-06 Mike Kestner <mkestner@novell.com> 2008-06-06 16:55:00 +00:00
PtrArray.cs
Signal.cs Simplified Signal handling 2011-03-24 18:33:24 -05:00
SignalArgs.cs
SignalAttribute.cs 2005-10-08 Ben Maurer <bmaurer@ximian.com> 2005-10-08 21:08:04 +00:00
SignalClosure.cs Some warning fixage. 2011-03-24 18:32:54 -05:00
SList.cs
Source.cs
Spawn.cs
Thread.cs glib: do not call g_thread_ functions in GLib >= 2.31 2012-05-03 23:45:07 +01:00
Timeout.cs Remove source delegates by id. 2011-10-13 05:23:39 -05:00
ToggleRef.cs Improve ToggleRef release overhead. 2011-07-29 13:37:39 -05:00
TypeFundamentals.cs remove a bunch of doc comments 2004-07-09 15:25:39 +00:00
TypeInitializerAttribute.cs 2007-09-06 Mike Kestner <mkestner@novell.com> 2007-09-07 14:40:46 +00:00
Value.cs * glib/Value.cs: revert to "working" GValue layout from 2-12 branch. 2011-04-27 19:05:11 -05:00
ValueArray.cs glib: Switch to generic collections in Marshaller and ValueArray 2012-11-04 16:58:49 +01:00
Variant.cs Initial support for GVariant 2011-01-22 12:52:38 -06:00
VariantType.cs