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