Fix core create_form_select_menu API to pass gw, rather than bw out to front ends.
This commit is contained in:
parent
f4bac1e7df
commit
63645c4c32
|
@ -1281,7 +1281,7 @@ static uint32 ami_popup_hook(struct Hook *hook,Object *item,APTR reserved)
|
|||
return itemid;
|
||||
}
|
||||
|
||||
void gui_create_form_select_menu(struct browser_window *bw,
|
||||
void gui_create_form_select_menu(struct gui_window *g,
|
||||
struct form_control *control)
|
||||
{
|
||||
/* TODO: PMIA_Title memory leaks as we don't free the strings.
|
||||
|
@ -1289,7 +1289,7 @@ void gui_create_form_select_menu(struct browser_window *bw,
|
|||
* improves we will probably start using this again.
|
||||
*/
|
||||
|
||||
struct gui_window *gwin = bw->window;
|
||||
struct gui_window *gwin = g;
|
||||
struct form_option *opt = control->data.select.items;
|
||||
ULONG i = 0;
|
||||
|
||||
|
@ -1343,7 +1343,7 @@ void ami_context_menu_show(struct gui_window_2 *gwin, int x, int y)
|
|||
{
|
||||
}
|
||||
|
||||
void gui_create_form_select_menu(struct browser_window *bw,
|
||||
void gui_create_form_select_menu(struct gui_window *g,
|
||||
struct form_control *control)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -28,6 +28,6 @@ BOOL ami_context_menu_mouse_trap(struct gui_window_2 *gwin, BOOL trap);
|
|||
void ami_context_menu_show(struct gui_window_2 *gwin, int x, int y);
|
||||
void ami_context_menu_show_tree(struct tree *tree, struct Window *win, int type);
|
||||
|
||||
void gui_create_form_select_menu(struct browser_window *bw, struct form_control *control);
|
||||
void gui_create_form_select_menu(struct gui_window *g, struct form_control *control);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -244,10 +244,10 @@ static void gui_window_new_content(struct gui_window *g)
|
|||
}
|
||||
|
||||
|
||||
static void gui_create_form_select_menu(struct browser_window *bw,
|
||||
static void gui_create_form_select_menu(struct gui_window *g,
|
||||
struct form_control *control)
|
||||
{
|
||||
FormSelectMenu *menu = [[FormSelectMenu alloc] initWithControl: control forWindow: bw];
|
||||
FormSelectMenu *menu = [[FormSelectMenu alloc] initWithControl: control forWindow: g->bw];
|
||||
[menu runInView: [(BrowserViewController *)bw->window browserView]];
|
||||
[menu release];
|
||||
}
|
||||
|
|
|
@ -497,8 +497,12 @@ struct gui_browser_table {
|
|||
|
||||
/**
|
||||
* create a form select menu
|
||||
*
|
||||
* \param g gui window containing form control
|
||||
* \param control form control of type GADGET_SELECT
|
||||
*/
|
||||
void (*create_form_select_menu)(struct browser_window *bw, struct form_control *control);
|
||||
void (*create_form_select_menu)(struct gui_window *g,
|
||||
struct form_control *control);
|
||||
|
||||
/**
|
||||
* verify certificate
|
||||
|
|
|
@ -532,7 +532,7 @@ static nserror gui_default_launch_url(struct nsurl *url)
|
|||
return NSERROR_NO_FETCH_HANDLER;
|
||||
}
|
||||
|
||||
static void gui_default_create_form_select_menu(struct browser_window *bw,
|
||||
static void gui_default_create_form_select_menu(struct gui_window *g,
|
||||
struct form_control *control)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -564,7 +564,7 @@ static void nsgtk_select_menu_clicked(GtkCheckMenuItem *checkmenuitem,
|
|||
(intptr_t)user_data);
|
||||
}
|
||||
|
||||
static void gui_create_form_select_menu(struct browser_window *bw,
|
||||
static void gui_create_form_select_menu(struct gui_window *g,
|
||||
struct form_control *control)
|
||||
{
|
||||
|
||||
|
|
|
@ -656,8 +656,12 @@ void html_mouse_action(struct content *c, struct browser_window *bw,
|
|||
form_select_menu_callback,
|
||||
c);
|
||||
pointer = BROWSER_POINTER_DEFAULT;
|
||||
} else if (mouse & BROWSER_MOUSE_CLICK_1)
|
||||
guit->browser->create_form_select_menu(bw, gadget);
|
||||
} else if (mouse & BROWSER_MOUSE_CLICK_1) {
|
||||
struct browser_window *rbw =
|
||||
browser_window_get_root(bw);
|
||||
guit->browser->create_form_select_menu(
|
||||
rbw->window, gadget);
|
||||
}
|
||||
break;
|
||||
case GADGET_CHECKBOX:
|
||||
status = messages_get("FormCheckbox");
|
||||
|
|
|
@ -158,7 +158,7 @@ bool ro_gui_shift_pressed(void);
|
|||
bool ro_gui_ctrl_pressed(void);
|
||||
bool ro_gui_alt_pressed(void);
|
||||
void gui_window_set_pointer(struct gui_window *g, enum gui_pointer_shape shape);
|
||||
void gui_create_form_select_menu(struct browser_window *bw, struct form_control *control);
|
||||
void gui_create_form_select_menu(struct gui_window *g, struct form_control *control);
|
||||
|
||||
/* in history.c */
|
||||
void ro_gui_history_init(void);
|
||||
|
|
|
@ -1354,25 +1354,23 @@ void gui_window_set_extent(struct gui_window *g, int width, int height)
|
|||
/**
|
||||
* Display a menu of options for a form select control.
|
||||
*
|
||||
* \param bw browser window containing form control
|
||||
* \param g gui window containing form control
|
||||
* \param control form control of type GADGET_SELECT
|
||||
*/
|
||||
|
||||
void gui_create_form_select_menu(struct browser_window *bw,
|
||||
void gui_create_form_select_menu(struct gui_window *g,
|
||||
struct form_control *control)
|
||||
{
|
||||
os_error *error;
|
||||
wimp_pointer pointer;
|
||||
|
||||
bw = browser_window_get_root(bw);
|
||||
|
||||
/* The first time the menu is opened, control bypasses the normal
|
||||
* Menu Prepare event and so we prepare here. On any re-opens,
|
||||
* ro_gui_window_prepare_form_select_menu() is called from the
|
||||
* normal wimp event.
|
||||
*/
|
||||
|
||||
if (!ro_gui_window_prepare_form_select_menu(bw->window, control))
|
||||
if (!ro_gui_window_prepare_form_select_menu(g, control))
|
||||
return;
|
||||
|
||||
error = xwimp_get_pointer_info(&pointer);
|
||||
|
@ -1386,7 +1384,7 @@ void gui_create_form_select_menu(struct browser_window *bw,
|
|||
|
||||
gui_form_select_control = control;
|
||||
ro_gui_menu_create(gui_form_select_menu,
|
||||
pointer.pos.x, pointer.pos.y, bw->window->window);
|
||||
pointer.pos.x, pointer.pos.y, g->window);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue