Re: Mime type woes in beagle



Im not sure, but I know that that code works for us in MD, except we use gnome_vfs_get_mime_type (string uri); and i think it requires file:/// urls.

Thats the best help i can give.

--Todd

Michael Levy wrote:
Sorry, I forgot the attachement! here it is.

On Thu, Jun 17, 2004 at 12:39:50AM +0200, Michael Levy wrote:

I really appreciate the initial response, and this more detailed follow-up!

I copied your suggestion into test.cs, but I am afraid that I still get the
strange behaviour... I've attached a copy of test.cs just to make sure that I
haven't made another glaring silly...It still looks like memory corruption as
somethimes I enter the "loop" I described, others I get non-sensical
mime types (potentially non-printable characters) and other times I get a mime
type "g_free". I understand that there is a marshalling problem, but I'm afraid
I don't yet know what to do. I remain open to any and all suggestions ;)

In case it's important:
$ rpm -q gtk-sharp
gtk-sharp-0.93-1.ximian.6.0
I'm using Mono Beta 2

Thanks again,
Mike


On Wed, Jun 16, 2004 at 01:05:55PM -0400, Todd Berman wrote:

And as I sent this, I realized i should be more explicit. Here you go.

instead of just calling:

gnome_vfs_mime_type_from_name_or_default you need to use:

[DllImport ("libgnomevfs-2")] extern static IntPtr gnome_vfs_mime_type_from_name_or_default (string filename, string defaultv);

string GetMimeType (string filename, string default)
{
return GLib.Marshaller.PtrToStringGFree (gnome_vfs_mime_type_from_name_or_default (filename, default));
}

That should help you out.

Note: GLib.Marshaller is in glib-sharp.dll, so you will have to compile against it.

Todd Berman wrote:

You are getting memory corruption because of the string marshalling.

If you look at how gtk#, MD, etc do string marshalling (MD even has an example from gnome_vfs) you will see how to fix it.

Basically marshalling the string like that is just not gonna work :)

--Todd

Michael Levy wrote:


I would agree that it looks like memory corruption. Maybe I should try
to send this to another list such as one of the mono lists?

Mike

On Wed, Jun 16, 2004 at 12:34:11AM -0500, Jon Trowbridge wrote:


On Sat, 2004-06-12 at 23:44 +0200, Michael Levy wrote:


Unfortunately, I get some strange behaviour. I've written
a small test to demonstrate.


I also get strange behavior, but it seems to be different strange
behavior.  I get weird behavior if I put more than one file on the
command line, or put something on the command line that ends with /.
Maybe some sort of memory corruption?

-J


_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers gnome org
http://mail.gnome.org/mailman/listinfo/dashboard-hackers


_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers gnome org
http://mail.gnome.org/mailman/listinfo/dashboard-hackers


_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers gnome org
http://mail.gnome.org/mailman/listinfo/dashboard-hackers


------------------------------------------------------------------------

using System;
using System.Runtime.InteropServices;


public class Test {

	[DllImport ("libgnomevfs-2")] extern static bool gnome_vfs_init ();
	[DllImport ("libgnomevfs-2")] extern static IntPtr gnome_vfs_mime_type_from_name_or_default (string filename, string defaultv);

	static string GetMimeType (string filename, string def)
	{
		return GLib.Marshaller.PtrToStringGFree (gnome_vfs_mime_type_from_name_or_default (filename, def));
	}

	static int Main (String [] args)
	{
		gnome_vfs_init ();
		foreach (String name in args) {
			String mime =   GetMimeType (name, "DON'T KNOW");
			Console.WriteLine ("{0}\t{1}", name, mime);
		}
		return 0;
	}
}


// Compile with :
//     mcs test.cs `pkg-config --libs gtk-sharp`
//
// Run with (should work):
// mono test.exe test.cs // // Or to see "looping"
// mono test.exe noSuchFile1 noSuchFile2
//


------------------------------------------------------------------------

_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers gnome org
http://mail.gnome.org/mailman/listinfo/dashboard-hackers




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