Fix "Menu windows appear at wrong positions and sizes with multiple displays" (#1380)
This commit is contained in:
parent
d28ded0cd5
commit
03cad76031
@ -348,7 +348,7 @@ menuwindow::menuwindow(const Fl_Menu_Item* m, int X, int Y, int Wp, int Hp,
|
||||
menubartitle = menubar_title;
|
||||
origin = NULL;
|
||||
offset_y = 0;
|
||||
int n = (Wp > 0 ? Fl::screen_num(X, Y) : -1);
|
||||
int n = Fl_Window_Driver::menu_parent()->screen_num();
|
||||
Fl_Window_Driver::driver(this)->menu_window_area(scr_x, scr_y, scr_w, scr_h, n);
|
||||
if (!right_edge || right_edge > scr_x+scr_w) right_edge = scr_x+scr_w;
|
||||
|
||||
@ -1104,7 +1104,8 @@ const Fl_Menu_Item* Fl_Menu_Item::pulldown(
|
||||
int dy = n->y()-nY;
|
||||
int dx = n->x()-nX;
|
||||
int waX, waY, waW, waH;
|
||||
Fl_Window_Driver::driver(n)->menu_window_area(waX, waY, waW, waH, Fl::screen_num(X, Y));
|
||||
int ns = Fl_Window_Driver::menu_parent()->screen_num();
|
||||
Fl_Window_Driver::driver(n)->menu_window_area(waX, waY, waW, waH, ns);
|
||||
for (int menu = 0; menu <= pp.menu_number; menu++) {
|
||||
menuwindow* tt = pp.p[menu];
|
||||
int nx = tt->x()+dx; if (nx < waX) {nx = waX; dx = -tt->x() + waX;}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user