Hello community, here is the log from the commit of package gtk-sharp2 checked in at Fri Nov 7 16:00:17 CET 2008. -------- --- GNOME/gtk-sharp2/gtk-sharp2.changes 2008-10-22 18:30:47.000000000 +0200 +++ /mounts/work_src_done/STABLE/gtk-sharp2/gtk-sharp2.changes 2008-11-07 12:26:01.620409000 +0100 @@ -1,0 +2,5 @@ +Fri Nov 7 12:24:14 CET 2008 - jjohnny@novell.com + +- support for custom marshalling hooks (bgo#555242) + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- glib-sharp-r1174242.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtk-sharp2.spec ++++++ --- /var/tmp/diff_new_pack.o18250/_old 2008-11-07 15:59:52.000000000 +0100 +++ /var/tmp/diff_new_pack.o18250/_new 2008-11-07 15:59:52.000000000 +0100 @@ -35,6 +35,7 @@ Patch5: gnome-sharp-revert_unportable_relocatable.patch # PATCH-FIX-OPENSUSE Fix: Program returns random data in a function Patch6: gtk-warn-fix.patch +Patch7: glib-sharp-r1174242.patch %define old_version 2.4.3 %define new_version 2.8.5 %define new_split_version 2.10.4 @@ -106,7 +107,7 @@ ############## # Need to put this stuff down here after Version: gets defined Version: %_version -Release: 15 +Release: 16 Source: %{_name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -291,6 +292,7 @@ if [ %version == %two_twelve_version ] ; then %patch6 fi +%patch7 %build %{?env_options} @@ -436,6 +438,8 @@ %define __find_requires env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/find-requires && printf "%s\\n" "${filelist[@]}" | /usr/bin/mono-find-requires ; } | sort | uniq' %changelog +* Fri Nov 07 2008 jjohnny@novell.com +- support for custom marshalling hooks (bgo#555242) * Wed Oct 22 2008 ajorgensen@novell.com - Update to 2.12.5 * Fix for bnc#400595 @@ -473,7 +477,7 @@ * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support -* Wed Apr 02 2008 wberrier@suse.de +* Thu Apr 03 2008 wberrier@suse.de - Packaging updates to allow building of 2.12.0, and still build older versions (for the build service) - Simplify (hopefully) version choosing for each distro @@ -486,7 +490,7 @@ -Better exception handling -Structure marshaling -GInterface Registration -* Tue Mar 25 2008 wberrier@suse.de +* Wed Mar 26 2008 wberrier@suse.de - Remove off_t patch now that it's in 2.10.4 - Update to 2.10.4 -Various gug fixes, including: bnc #359561 @@ -522,41 +526,41 @@ Gnome (based on gtk# 2.8.3) * Sat Jun 16 2007 wberrier@suse.de - Correct time for May 2 entry (failing on s390 machines) -* Wed May 16 2007 wberrier@novell.com +* Thu May 17 2007 wberrier@novell.com - make sure vte is installed during suse 10.0 build to resolve .config dllmaps * Fri May 04 2007 wberrier@novell.com - revert_unportable_relocatable.patch so that the fedora packages don't need to depend on the 'which' package -* Wed May 02 2007 wberrier@novell.com +* Thu May 03 2007 wberrier@novell.com - Use the internally defined deps/reqs since the suse rpm support doesn't look for assembly .config files (set _use_internal_dependency_generator to 0 on fedora distros) -* Tue May 01 2007 wberrier@novell.com +* Wed May 02 2007 wberrier@novell.com - Rely on the new .config rpm dep generation for requires for: gtkhtml-sharp2 rsvg-sharp2 gnome-vfs-sharp2 vte-sharp2 (Also simplifies cross distro packaging, mainly suse vs. redhat) -* Wed Apr 25 2007 wberrier@suse.de +* Thu Apr 26 2007 wberrier@suse.de - Fix vte .so version in the .config file (fixes bnc #265854) * Fri Apr 13 2007 wberrier@novell.com - add %%debug_package so debug packages get created * Wed Apr 11 2007 wberrier@novell.com - Add mono dep/req for older distros -* Wed Apr 04 2007 wberrier@novell.com +* Thu Apr 05 2007 wberrier@novell.com - Adapt for build service, final fix (at least hopefully for a long time) for gtkhtml * Tue Mar 27 2007 sbrabec@suse.cz - Build with the latest gtkhtml. * Wed Jan 17 2007 meissner@suse.de - use RPM_OPT_FLAGS. -* Thu Oct 19 2006 ro@suse.de +* Fri Oct 20 2006 ro@suse.de - added mono-devel to buildrequires -* Sun Oct 15 2006 schwab@suse.de +* Mon Oct 16 2006 schwab@suse.de - Use install-data-hook instead of install-hook. -* Mon Jul 31 2006 wberrier@suse.de +* Tue Aug 01 2006 wberrier@suse.de - Update to 2.8.3 - Fix: Multiple calls to Gnome.Vfs.MimeType.Description triggers glibc error (77534) * Mon May 08 2006 joeshaw@suse.de @@ -571,10 +575,10 @@ - 154029 in Novell's Bugzilla * Tue Feb 21 2006 rguenther@suse.de - Fix build failure on ppc64. [#152472] -* Wed Feb 15 2006 wberrier@suse.de +* Thu Feb 16 2006 wberrier@suse.de - Add .mdb files. Fixes: https://bugzilla.novell.com/show_bug.cgi?id=151353 - also, remove the explicit deps (they are provided by mono(assembly) deps -* Wed Feb 08 2006 wberrier@suse.de +* Thu Feb 09 2006 wberrier@suse.de - Update to 2.8.1. Fixes the following bugs (Ximian bugzilla): - #77400 - #77323 @@ -587,7 +591,7 @@ - Cleanup BuildRequires. - Add Requires for packages. - Reorder spec file sections. -* Thu Jan 26 2006 mls@suse.de +* Fri Jan 27 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Jan 24 2006 wberrier@suse.de - Additional package splits: art, rsvg, gtkhtml, and gnome-vfs @@ -600,24 +604,24 @@ - Provide gtk-sharp2-complege virtual package depending on all sub packages * Wed Jan 11 2006 wberrier@suse.de - Update to 2.8.0 -* Thu Dec 15 2005 wberrier@suse.de +* Fri Dec 16 2005 wberrier@suse.de - Update to 2.7.90 * Thu Dec 01 2005 wberrier@suse.de - Clean up needed for build and install section -* Thu Nov 10 2005 wberrier@suse.de +* Fri Nov 11 2005 wberrier@suse.de - Update to 2.7.1 * Thu Oct 06 2005 wberrier@suse.de - Update to 2.3.92 * Mon Oct 03 2005 gekker@suse.de - Update to svn snapshot to fix crash when re-sizing windows - Remove upstreamed patch -* Mon Sep 26 2005 ro@suse.de +* Tue Sep 27 2005 ro@suse.de - re-enable gtkhtml * Mon Sep 26 2005 gekker@suse.de - Fix build on x86_64 * Fri Sep 23 2005 wberrier@suse.de - updated to 2.3.91. New version also includes docs for monodoc -* Thu Sep 22 2005 ro@suse.de +* Fri Sep 23 2005 ro@suse.de - removed libgdiplus-devel from nfb (dropped) * Sun Sep 04 2005 aj@suse.de - Add check-build.sh. @@ -638,17 +642,17 @@ - Remove upstreamed patches * Tue Mar 08 2005 gekker@suse.de - Update gtkhtml-sharp.diff for new .so version in gtkhtml2 -* Mon Mar 07 2005 gekker@suse.de +* Tue Mar 08 2005 gekker@suse.de - add gtkhtml-sharp.diff (66769, 66439) * Thu Feb 24 2005 gekker@suse.de - Fix requires (66439) * Mon Feb 21 2005 clahey@suse.de - Update to 1.0.6. -* Thu Jan 20 2005 ro@suse.de +* Fri Jan 21 2005 ro@suse.de - update to 1.0.4 -* Thu Jan 13 2005 ro@suse.de +* Fri Jan 14 2005 ro@suse.de - build with gtkhtml-3.6 -* Wed Dec 01 2004 ro@suse.de +* Thu Dec 02 2004 ro@suse.de - try to fix build on x86_64 * Sun Nov 28 2004 ro@suse.de - run autoreconf @@ -658,7 +662,7 @@ - Add a patch to use gtkhtml 3.1 instead of 3.0. Ximian #63188 * Fri Sep 03 2004 clahey@suse.de - Updated to 1.0. -* Mon Jun 28 2004 ro@suse.de +* Tue Jun 29 2004 ro@suse.de - use rpm scripts for find requires/provides * Mon Jun 21 2004 clahey@suse.de - Updated to 0.98. ++++++ glib-sharp-r1174242.patch ++++++ --- glib/Signal.cs 2008/10/29 21:37:31 117423 +++ glib/Signal.cs 2008/10/29 21:41:57 117424 @@ -127,12 +127,14 @@ Type args_type; SignalClosure before_closure; SignalClosure after_closure; + Delegate marshaler; private Signal (GLib.Object obj, string signal_name, Delegate marshaler) { tref = obj.ToggleRef; name = signal_name; tref.Signals [name] = this; + this.marshaler = marshaler; } private Signal (GLib.Object obj, string signal_name, Type args_type) @@ -207,7 +209,6 @@ return Lookup (obj, name, typeof (EventArgs)); } - [Obsolete ("Replaced by Lookup (Object obj, string name, Type args_type)")] public static Signal Lookup (GLib.Object obj, string name, Delegate marshaler) { Signal result = obj.ToggleRef.Signals [name] as Signal; @@ -243,7 +244,10 @@ if (d.Method.IsDefined (typeof (ConnectBeforeAttribute), false)) { tref.Target.BeforeSignals [name] = Delegate.Combine (tref.Target.BeforeSignals [name] as Delegate, d); if (before_closure == null) { - before_closure = new SignalClosure (tref.Handle, name, args_type); + if (marshaler == null) + before_closure = new SignalClosure (tref.Handle, name, args_type); + else + before_closure = new SignalClosure (tref.Handle, name, marshaler, this); before_closure.Disposed += ClosureDisposedHandler; before_closure.Invoked += ClosureInvokedHandler; before_closure.Connect (false); @@ -251,7 +255,10 @@ } else { tref.Target.AfterSignals [name] = Delegate.Combine (tref.Target.AfterSignals [name] as Delegate, d); if (after_closure == null) { - after_closure = new SignalClosure (tref.Handle, name, args_type); + if (marshaler == null) + after_closure = new SignalClosure (tref.Handle, name, args_type); + else + after_closure = new SignalClosure (tref.Handle, name, marshaler, this); after_closure.Disposed += ClosureDisposedHandler; after_closure.Invoked += ClosureInvokedHandler; after_closure.Connect (true); --- glib/SignalClosure.cs 2008/10/29 21:37:31 117423 +++ glib/SignalClosure.cs 2008/10/29 21:41:57 117424 @@ -25,7 +25,7 @@ using System.Collections; using System.Runtime.InteropServices; - internal class ClosureInvokedArgs : EventArgs { + internal class ClosureInvokedArgs : EventArgs { EventArgs args; GLib.Object obj; @@ -59,6 +59,8 @@ string name; uint id = UInt32.MaxValue; System.Type args_type; + Delegate custom_marshaler; + GCHandle gch; static Hashtable closures = new Hashtable (); @@ -71,6 +73,16 @@ this.args_type = args_type; } + public SignalClosure (IntPtr obj, string signal_name, Delegate custom_marshaler, Signal signal) + { + gch = GCHandle.Alloc (signal); + raw_closure = g_cclosure_new (custom_marshaler, (IntPtr) gch, Notify); + closures [raw_closure] = this; + handle = obj; + name = signal_name; + this.custom_marshaler = custom_marshaler; + } + public event EventHandler Disposed; public event ClosureInvokedHandler Invoked; @@ -91,6 +103,9 @@ { Disconnect (); closures.Remove (raw_closure); + if (custom_marshaler != null) + gch.Free (); + custom_marshaler = null; if (Disposed != null) Disposed (this, EventArgs.Empty); GC.SuppressFinalize (this); @@ -182,6 +197,9 @@ static extern IntPtr glibsharp_closure_new (ClosureMarshal marshaler, ClosureNotify notify, IntPtr gch); [DllImport("libgobject-2.0-0.dll")] + static extern IntPtr g_cclosure_new (Delegate cb, IntPtr user_data, ClosureNotify notify); + + [DllImport("libgobject-2.0-0.dll")] static extern uint g_signal_connect_closure (IntPtr obj, IntPtr name, IntPtr closure, bool is_after); [DllImport("libgobject-2.0-0.dll")] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org