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

Bug#686799: marked as done (Freeze exception for gtk-sharp2)



Your message dated Sat, 29 Sep 2012 09:37:26 +0200
with message-id <5066A536.5010404@thykier.net>
and subject line Re: Bug#686799: Freeze exception for gtk-sharp2
has caused the Debian Bug report #686799,
regarding Freeze exception for gtk-sharp2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
686799: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686799
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org

Please consider a freeze exception for gtk-sharp2 version 2.12.10-5
which fixes an issue affecting 64-bit machines. This bugfix is the only
change from 2.12.10-4.

Details about the issue can be found in bug #686798
(Gtk.IconTheme.SearchPath is not 64-bit safe). A debdiff is attached for
reference.

  cmn

diff -Nru gtk-sharp2-2.12.10/debian/changelog gtk-sharp2-2.12.10/debian/changelog
--- gtk-sharp2-2.12.10/debian/changelog	2012-09-06 01:49:14.000000000 +0200
+++ gtk-sharp2-2.12.10/debian/changelog	2012-09-06 01:43:03.000000000 +0200
@@ -1,3 +1,10 @@
+gtk-sharp2 (2.12.10-5) unstable; urgency=low
+
+  * [b130b4f] debian/patches: add 06_IconTheme_use_glib_marshaller.
+    This makes IconTheme.get_SearchPath() 64-bit safe.
+
+ -- Carlos Martín Nieto <cmn@dwim.me>  Wed, 05 Sep 2012 23:22:15 +0100
+
 gtk-sharp2 (2.12.10-4) unstable; urgency=low
 
   [ Colin Watson ]
diff -Nru gtk-sharp2-2.12.10/debian/patches/06_IconTheme_use_glib_marshaller gtk-sharp2-2.12.10/debian/patches/06_IconTheme_use_glib_marshaller
--- gtk-sharp2-2.12.10/debian/patches/06_IconTheme_use_glib_marshaller	1970-01-01 01:00:00.000000000 +0100
+++ gtk-sharp2-2.12.10/debian/patches/06_IconTheme_use_glib_marshaller	2012-09-05 23:50:25.000000000 +0200
@@ -0,0 +1,62 @@
+Description: IconThem: use the glib marshallers Use GLib.Marshaller
+ instead of doing it per hand. This makes IconTheme.get_SearchPath()
+ safe to use in 64-bit machines, as we don't try to make the pointer
+ fit into a Int32.
+Author: Carlos Martín Nieto <cmn@dwim.me>
+
+Index: gtk-sharp2/gtk/IconTheme.custom
+===================================================================
+--- gtk-sharp2.orig/gtk/IconTheme.custom	2012-09-02 18:22:23.517201189 +0200
++++ gtk-sharp2/gtk/IconTheme.custom	2012-09-05 23:48:34.244916093 +0200
+@@ -71,9 +71,6 @@
+ 
+                 public string[] SearchPath {
+                         get {
+-				string[] retval;
+-                            
+-				unsafe {
+ 					int length;
+ 					IntPtr raw_ret;
+ 					if (IsWindowsPlatform)
+@@ -81,31 +78,22 @@
+ 					else
+ 						gtk_icon_theme_get_search_path (Handle, out raw_ret, out length);
+ 
+-					int size = Marshal.SizeOf (typeof (IntPtr));
+-					retval = new string[length];
+-					for (int i = 0, j = 0; i < length; i++, j += size) {
+-						IntPtr string_ptr = Marshal.ReadIntPtr (new IntPtr (raw_ret.ToInt32 () + j));
+-						retval[i] = GLib.Marshaller.Utf8PtrToString (string_ptr);
+-					}
+-
+-					g_strfreev (raw_ret);
+-				}
+-                            
+-				return retval;
++					return GLib.Marshaller.NullTermPtrToStringArray(raw_ret, true);
++
+ 			}
+ 			set {
+-				int cnt_path = value == null ? 0 : value.Length;
+-				IntPtr[] native_path = new IntPtr [cnt_path];
+-				for (int i = 0; i < cnt_path; i++)
+-					native_path [i] = GLib.Marshaller.StringToPtrGStrdup (value[i]);
++				IntPtr[] native_path;
++				if (value == null)
++					native_path = new IntPtr [0];
++				else
++					native_path = GLib.Marshaller.StringArrayToNullTermPointer (value);
+ 
+ 				if (IsWindowsPlatform)
+-					gtk_icon_theme_set_search_path_utf8 (Handle, native_path, native_path.Length);
++					gtk_icon_theme_set_search_path_utf8 (Handle, native_path, value.Length);
+ 				else
+-					gtk_icon_theme_set_search_path (Handle, native_path, native_path.Length);
++					gtk_icon_theme_set_search_path (Handle, native_path, value.Length);
+ 
+-				for (int i = 0; i < native_path.Length; i++)
+-					GLib.Marshaller.Free (native_path[i]);
++				GLib.Marshaller.Free(native_path);
+ 			}
+ 		}
+ 
diff -Nru gtk-sharp2-2.12.10/debian/patches/series gtk-sharp2-2.12.10/debian/patches/series
--- gtk-sharp2-2.12.10/debian/patches/series	2012-09-06 01:49:14.000000000 +0200
+++ gtk-sharp2-2.12.10/debian/patches/series	2012-09-02 18:19:24.000000000 +0200
@@ -2,4 +2,5 @@
 02_pcfiles
 04_fix_glib_2.31_threading
 05_glib_single_include
+06_IconTheme_use_glib_marshaller
 

--- End Message ---
--- Begin Message ---
On 2012-09-06 01:54, Carlos Martín Nieto wrote:
> Package: release.debian.org
> 
> Please consider a freeze exception for gtk-sharp2 version 2.12.10-5
> which fixes an issue affecting 64-bit machines. This bugfix is the only
> change from 2.12.10-4.
> 
> Details about the issue can be found in bug #686798
> (Gtk.IconTheme.SearchPath is not 64-bit safe). A debdiff is attached for
> reference.
> 
>   cmn
> 

Unblocked.  However, gtk-sharp2 /cannot/ migrate as long as it is out of
date on armhf.
  As I recall mono was removed from armhf due to a floating point issue,
so in this case you just need to get gtk-sharp2/armhf removed from
unstable (i.e. file a bug against ftp.debian.org)

Thanks,
~Niels

--- End Message ---

Reply to: