RE: GTK & BSD
- Posted by Ron Tarrant <rtarrant at sympatico.ca> May 12, 2004
- 445 views
irv mullins wrote: > > Has anyone gotten EuGTK to work with FreeBSD? Thanks for posting this, Irv. When I didn't see any replies after the first day, I started hacking the eugtk2 code. I've managed to eliminate the first gMessage error I mentioned to you (Invalid function: g_object_ref) and all its bretheren who followed. This error was spit out by gMessage whenever a call was made to either func() or proc() in method.e. To solve this, I added an arguement ('which_lib' in an attempt to follow your naming conventions) to each of these functions to ID the library from which the function (ie. g_object_ref) was being called. I then went through each eugtk2 include file and used the library identifier constants (as declared in wrapper.e) in each call to func() and proc(). For internal eugtk2 calls I simply used an empty string to maintain the argument count. Not an elegant solution, I know, but this process got eugtk2 through a vast amount of the initialization code without problems. Now I'm on to the next gMessage error: "Invalid GDK object: pixbuf" This seems to be happening during a call to the function newClass() in class.e. The statement: gtkfunction = sprintf("gtk_%s_get_type",{name}) builds a function call to gtk_pixbuf_get_type which I can't find in the GDK or GDK Pixbuf APIs. I'm thinking it should actually be gdk_pixbuf_new if the pixbuf is being created in memory or gdk_pixbuf_new_from_file if a file is being loaded. Either way, my next move is to try massaging the newClass() function in an attempt to bend things to my evil way. But, there is one thing I don't understand. In wrapper.e one of the global constants for library access is named PIXBUF. In pixbuf.e there is another global constant named PIXBUF that (I believe) is a handle for the pixbuf created during initialization. Aren't these in conflict? wrapper.e includes controls.e which in turn includes pixbuf.e so they both exist at the same time in the same namespace, don't they? Or am I missing something? Colour me confused, please, and you can do it in a pixbuf. -Ron T.