зеркало из https://github.com/mozilla/gecko-dev.git
Bug #242122. Flash plugins that need to be resized in gtk2 builds don't render in the newly exposed areas. Make sure that we don't catch any of the Redirect X events so that the socket will get the resize events and call size_allocate from the resize method on the socket so resize events are processed. r=robin,sr=bryner
This commit is contained in:
Родитель
434cae41e9
Коммит
966df39588
|
@ -412,6 +412,15 @@ gtk_xtbin_resize (GtkWidget *widget,
|
|||
XtSetValues(xtbin->xtclient.top_widget, args, 2);
|
||||
xtbin->height = height;
|
||||
xtbin->width = width;
|
||||
|
||||
/* we need to send a size allocate so the socket knows about the
|
||||
size changes */
|
||||
allocation.x = xtbin->x;
|
||||
allocation.y = xtbin->y;
|
||||
allocation.width = xtbin->width;
|
||||
allocation.height = xtbin->height;
|
||||
|
||||
gtk_widget_size_allocate(widget, &allocation);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -580,17 +589,16 @@ xt_client_create ( XtClient* xtclient ,
|
|||
XSelectInput(xtclient->xtdisplay,
|
||||
XtWindow(top_widget),
|
||||
0x0FFFFF);
|
||||
XSelectInput(xtclient->xtdisplay,
|
||||
XtWindow(child_widget),
|
||||
0x0FFFFF);
|
||||
xt_client_set_info (child_widget, 0);
|
||||
|
||||
XtManageChild(child_widget);
|
||||
xtclient->child_widget = child_widget;
|
||||
|
||||
/* set the event handler */
|
||||
XtAddEventHandler(child_widget, 0x0FFFFF, TRUE,
|
||||
(XtEventHandler)xt_client_event_handler, xtclient);
|
||||
XtAddEventHandler(child_widget,
|
||||
(0x0FFFFF ^ (ResizeRedirectMask | SubstructureRedirectMask)),
|
||||
TRUE,
|
||||
(XtEventHandler)xt_client_event_handler, xtclient);
|
||||
XtAddEventHandler(child_widget,
|
||||
SubstructureNotifyMask | ButtonReleaseMask,
|
||||
TRUE,
|
||||
|
|
Загрузка…
Ссылка в новой задаче