Thomas Fitzsimmons wrote:
Andreas Tobler wrote:
Mark Wielaard wrote:
Hi,
On Tue, 2006-05-30 at 22:43 +0200, Andreas Tobler wrote:
This really is a static function. Please keep it that way.
ld: Undefined symbols:
_cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable
?
Yeah, that is strange. When do you get that?
Well, we use it in gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c
and in gnu_java_awt_peer_gtk_ComponentGraphics.c.
So for me it's only usable in gnu_java_awt_peer_gtk_ComponentGraphics.c
I may don't understand it...
OK, we figured it out. This patch and a patch from Sven to implement
ComponentGraphicsCopy crossed meaning that the
cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable function is
now indeed non-static. Which does mean that if we mark it as non-static
it has to have a common function prototype in gtkpeer.h.
Would this be something usable?
Andreas
2006-05-31 Andreas Tobler <[EMAIL PROTECTED]>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
(cp_gtk_grab_current_drawable): Rename
cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable to
cp_gtk_grab_current_drawable, remove static declaration.
(Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Renamed
above
function.
(Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative):
Likewise.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c:
Remove prototype of
cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable.
(Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): Rename
function.
(Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf):
Likewise.
* native/jni/gtk-peer/gtkpeer.h: Add prototype for
cp_gtk_grab_current_drawable here.
[snip]
Yes, please commit.
Thanks. Do so asap.
It would also be nice if
scripts/check_jni_methods.sh checked that all public symbols in
libgtkpeer.so were prefixed appropriately. If you have the GNU tools
installed, you could just nm for this:
nm --dynamic --defined-only --extern-only libgtkpeer.so
Hm, as mentionend, GNU tools. Cause darwin nm doesn't like the options.
Doing this, I just noticed CairoGraphics2D_getCairoT is exported but not
properly prefixed. Want to fix this one too?
You mean
s/CairoGraphics2D_getCairoT/Java_gnu_java_awt_peer_gtk_CairoGraphics2D_getCairoT
I see how it fits in my schedule ;)
Andreas