#include "x11/gdkx.h"
+#ifdef HAVE_XFIXES
+#include <X11/extensions/Xfixes.h>
+#endif
+
#include "gtkxembed.h"
#include "gtkalias.h"
{
if (hints.flags & PMinSize)
{
- socket->request_width = hints.min_width;
- socket->request_height = hints.min_height;
+ socket->request_width = MAX (hints.min_width, 1);
+ socket->request_height = MAX (hints.min_height, 1);
}
else if (hints.flags & PBaseSize)
{
- socket->request_width = hints.base_width;
- socket->request_height = hints.base_height;
+ socket->request_width = MAX (hints.base_width, 1);
+ socket->request_height = MAX (hints.base_height, 1);
}
}
socket->have_size = TRUE;
void
_gtk_socket_windowing_embed_notify (GtkSocket *socket)
{
+#ifdef HAVE_XFIXES
+ GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (socket));
+
+ XFixesChangeSaveSet (GDK_DISPLAY_XDISPLAY (display),
+ GDK_WINDOW_XWINDOW (socket->plug_window),
+ SetModeInsert, SaveSetRoot, SaveSetUnmap);
+#endif
_gtk_xembed_send_message (socket->plug_window,
XEMBED_EMBEDDED_NOTIFY, 0,
GDK_WINDOW_XWINDOW (GTK_WIDGET (socket)->window),