hey all, attached is a fix for issues with gettext that arise in the soon-to-be-released mono Beta2. It incorporates the changes from fer for a few things, and steals the latest code from monodevelop's gettext file to get things working. none of my work really, just standing on shoulders. (: -pete -- Peter Johanson <latexer gentoo org> Key ID = 0x6EFA3917 Key fingerprint = A90A 2518 57B1 9D20 9B71 A2FF 8649 439B 6EFA 3917
Index: src/AddAlbumWindow.cs
===================================================================
RCS file: /cvs/gnome/muine/src/AddAlbumWindow.cs,v
retrieving revision 1.36
diff -u -b -B -r1.36 AddAlbumWindow.cs
--- src/AddAlbumWindow.cs 6 May 2004 10:02:12 -0000 1.36
+++ src/AddAlbumWindow.cs 1 Jun 2004 15:36:42 -0000
@@ -184,7 +186,7 @@
{
ResponseArgs args = (ResponseArgs) a;
- switch (args.ResponseId) {
+ switch ((int) args.ResponseId) {
case 1: /* Play */
window.Visible = false;
@@ -351,7 +353,7 @@
{
TreePath path;
- if (!view.GetPathAtPos (args.X, args.Y, out path, null))
+ if (!view.GetPathAtPos (args.X, args.Y, out path))
return;
IntPtr album_ptr = view.GetHandleFromPath (path);
@@ -364,7 +366,7 @@
{
TreePath path;
- if (!view.GetPathAtPos (args.X, args.Y, out path, null))
+ if (!view.GetPathAtPos (args.X, args.Y, out path))
return;
if (Muine.CoverDB.Loading)
Index: src/GettextCatalog.cs
===================================================================
RCS file: /cvs/gnome/muine/src/GettextCatalog.cs,v
retrieving revision 1.1
diff -u -b -B -r1.1 GettextCatalog.cs
--- src/GettextCatalog.cs 26 Feb 2004 13:11:18 -0000 1.1
+++ src/GettextCatalog.cs 1 Jun 2004 15:36:42 -0000
@@ -21,6 +21,7 @@
* be picked up by update-po.
*/
+using System;
using System.Runtime.InteropServices;
public class GettextCatalog
@@ -34,22 +35,55 @@
}
[DllImport ("libmuine")]
- private static extern string intl_get_string (string str);
+ private static extern IntPtr intl_get_string (IntPtr str);
+ //public static string GetString (string str)
+ public string GetString (string str)
+ {
+ IntPtr inptr = Marshal.StringToHGlobalAuto (str);
+ IntPtr sptr = intl_get_string (inptr);
+ Marshal.FreeHGlobal (inptr);
+ if (inptr == sptr)
+ return str;
+ else
+ return Marshal.PtrToStringAuto (sptr);
+ }
+
+ /*
public string GetString (string str)
{
return intl_get_string (str);
}
+ */
[DllImport ("libmuine")]
- private static extern string intl_get_plural_string (string singular,
- string plural,
+ private static extern IntPtr intl_get_plural_string (IntPtr singular,
+ IntPtr plural,
int n);
+ //public static string GetPluralString (string singular,
+ public string GetPluralString (string singular,
+ string plural,
+ int n)
+ {
+ IntPtr singptr = Marshal.StringToHGlobalAuto (singular);
+ IntPtr plurptr = Marshal.StringToHGlobalAuto (plural);
+ IntPtr sptr = intl_get_plural_string (singptr, plurptr, n);
+ Marshal.FreeHGlobal (singptr);
+ Marshal.FreeHGlobal (plurptr);
+ if (sptr == singptr)
+ return singular;
+ else if (sptr == plurptr)
+ return plural;
+ else
+ return Marshal.PtrToStringAuto (sptr);
+ }
+ /*
public string GetPluralString (string singular,
string plural,
int n)
{
return intl_get_plural_string (singular, plural, n);
}
+ */
}
Index: src/Player.cs
===================================================================
RCS file: /cvs/gnome/muine/src/Player.cs,v
retrieving revision 1.15
diff -u -b -B -r1.15 Player.cs
--- src/Player.cs 11 May 2004 17:52:42 -0000 1.15
+++ src/Player.cs 1 Jun 2004 15:36:42 -0000
@@ -20,8 +20,6 @@
using System;
using System.Runtime.InteropServices;
-using GLibSharp;
-
public class Player : GLib.Object
{
[DllImport ("libmuine")]
@@ -50,7 +48,7 @@
player_set_file (Raw, song.Filename, out error_ptr);
if (error_ptr != IntPtr.Zero) {
- string error = Marshaller.PtrToStringGFree (error_ptr);
+ string error = GLib.Marshaller.PtrToStringGFree (error_ptr);
new ErrorDialog (String.Format (Muine.Catalog.GetString ("Error opening {0}:\n{1}"),
song.Filename, error));
@@ -190,7 +188,7 @@
Raw = player_new (out error_ptr);
if (error_ptr != IntPtr.Zero) {
- string error = Marshaller.PtrToStringGFree (error_ptr);
+ string error = GLib.Marshaller.PtrToStringGFree (error_ptr);
throw new Exception (error);
}
Index: src/Song.cs
===================================================================
RCS file: /cvs/gnome/muine/src/Song.cs,v
retrieving revision 1.40
diff -u -b -B -r1.40 Song.cs
--- src/Song.cs 27 Apr 2004 17:25:41 -0000 1.40
+++ src/Song.cs 1 Jun 2004 15:36:43 -0000
@@ -24,7 +24,6 @@
using System.Threading;
using System.Runtime.InteropServices;
-using GLibSharp;
using Gdk;
public class Song
@@ -424,7 +423,7 @@
IntPtr ret, str_ptr;
ret = db_unpack_string (p, out str_ptr);
- str = Marshaller.PtrToStringGFree (str_ptr);
+ str = GLib.Marshaller.PtrToStringGFree (str_ptr);
return ret;
}
Index: src/StockIcons.cs
===================================================================
RCS file: /cvs/gnome/muine/src/StockIcons.cs,v
retrieving revision 1.7
diff -u -b -B -r1.7 StockIcons.cs
--- src/StockIcons.cs 11 Apr 2004 15:42:51 -0000 1.7
+++ src/StockIcons.cs 1 Jun 2004 15:36:43 -0000
@@ -57,7 +57,7 @@
IconSet iconset = new IconSet (pixbuf);
/* add menu variant if we have it */
- IO.Stream menu_stream = System.Reflection.Assembly.GetCallingAssembly ().GetManifestResourceStream (name + "-16.png");
+ System.IO.Stream menu_stream = System.Reflection.Assembly.GetCallingAssembly ().GetManifestResourceStream (name + "-16.png");
if (menu_stream != null) {
IconSource source = new IconSource ();
source.Pixbuf = new Pixbuf (menu_stream);
Index: src/StringUtils.cs
===================================================================
RCS file: /cvs/gnome/muine/src/StringUtils.cs,v
retrieving revision 1.12
diff -u -b -B -r1.12 StringUtils.cs
--- src/StringUtils.cs 26 Feb 2004 10:46:10 -0000 1.12
+++ src/StringUtils.cs 1 Jun 2004 15:36:43 -0000
@@ -20,8 +20,6 @@
using System;
using System.Runtime.InteropServices;
-using GLibSharp;
-
public class StringUtils
{
public static string SecondsToString (long time)
@@ -93,7 +91,7 @@
{
IntPtr str_ptr = g_utf8_collate_key (key, -1);
- return Marshaller.PtrToStringGFree (str_ptr);
+ return GLib.Marshaller.PtrToStringGFree (str_ptr);
}
public static string SelectionDataToString (Gtk.SelectionData data)
Attachment:
pgpiFl2ERwovX.pgp
Description: PGP signature