diff --git a/modules/plugin/base/src/ns4xPluginInstance.cpp b/modules/plugin/base/src/ns4xPluginInstance.cpp index 4595c1ad3122..5ef8c6780017 100644 --- a/modules/plugin/base/src/ns4xPluginInstance.cpp +++ b/modules/plugin/base/src/ns4xPluginInstance.cpp @@ -998,6 +998,7 @@ NS_IMETHODIMP ns4xPluginInstance::SetWindow(nsPluginWindow* window) // to the actual X window window->window = (nsPluginPort *)GTK_XTBIN(mXtBin)->xtwindow; + gtk_xtbin_resize(mXtBin, window->width, window->height); #elif defined(MOZ_WIDGET_XLIB) diff --git a/widget/src/gtkxtbin/gtkxtbin.c b/widget/src/gtkxtbin/gtkxtbin.c index ed1e0ea08d45..ff5f916eeab0 100644 --- a/widget/src/gtkxtbin/gtkxtbin.c +++ b/widget/src/gtkxtbin/gtkxtbin.c @@ -451,6 +451,19 @@ gtk_xtbin_set_position (GtkXtBin *xtbin, gdk_window_move (GTK_WIDGET (xtbin)->window, x, y); } +void +gtk_xtbin_resize (GtkWidget *widget, + gint width, + gint height) +{ + Arg args[2]; + GtkXtBin *xtbin = GTK_XTBIN (widget); + Widget xtwidget = XtWindowToWidget(xtbin->xtdisplay, xtbin->xtwindow); + + XtSetArg(args[0], XtNheight, height); + XtSetArg(args[1], XtNwidth, width); + XtSetValues(XtParent(xtwidget), args, 2); +} static void gtk_xtbin_shutdown (GtkObject *object) diff --git a/widget/src/gtkxtbin/gtkxtbin.h b/widget/src/gtkxtbin/gtkxtbin.h index 00fa56cb512f..ec7e4d5c59b4 100644 --- a/widget/src/gtkxtbin/gtkxtbin.h +++ b/widget/src/gtkxtbin/gtkxtbin.h @@ -66,6 +66,9 @@ GtkWidget *gtk_xtbin_new (GdkWindow *parent_window, String *f); void gtk_xtbin_set_position (GtkXtBin *xtbin, gint x, gint y); +void gtk_xtbin_resize (GtkWidget *widget, + gint width, + gint height); typedef struct _XtTMRec { XtTranslations translations; /* private to Translation Manager */