Hi guys,
i've seen that there was a problem to use menu.popup with a reposition
function.
The maintainer has been informed but i have no response from him since
some time.

I found some problems :
- x and y are pointers to gint and not int, this is intended to permit
modification of these values.
- rb_funcall was not used correctly, i've added id_call as id and it
seems to work.
- as i said coordinates are modified via the pointers, so i had two
solutions :  modify directly via ruby pointer (hard way i think) or
modify with returned values in an array. I choosed the second way.

Here is the diff of my current work :
----diff----

 static void
-menu_pos_func(menu, x, y, data)
+menu_pos_func(menu, px, py, data)
     GtkMenu *menu;
-    gint x, y;
+    gint *px, *py;
     gpointer data;
 {
+    VALUE arr;
     VALUE m = get_value_from_gobject(GTK_OBJECT(menu));
 
-    rb_funcall((VALUE)data, 3, m, INT2FIX(x), INT2FIX(y));
+    arr = rb_funcall((VALUE)data, id_call, 3, m, INT2NUM(*px),
INT2NUM(*py));
+    Check_Type(arr, T_ARRAY);
+
+//    *px = NUM2INT(rb_ary_shift(arr));
+//    *py = NUM2INT(rb_ary_shift(arr));
+
+    *px = NUM2INT(rb_ary_entry(arr, 0));
+    *py = NUM2INT(rb_ary_entry(arr, 1));
 }

----diff----

The coordinates sent to the reposition function are now good (instead
of the pointer values sent before :), but there is still no display of
the menu, so i'm lost and i dunno what is the problem.
I've used two methods to extract the values of the array, but always
got the same result :/

So i hope now that somebody can give some help to solve this problem

mips