#endif
/* finally the text area */
- XtConfigureWidget (text, text_x, text_y,
- width - 2*textbord,
- height - text_y - 2*textbord,
- textbord);
+ {
+ Dimension nw = width - 2*textbord;
+ Dimension nh = height - text_y - 2*textbord;
+
+ if (nh != f->pixheight || nw != f->pixwidth)
+ MARK_FRAME_SIZE_SLIPPED (f);
+ XtConfigureWidget (text, text_x, text_y, nw, nh, textbord);
+ }
}
static void
XFlush (XtDisplay (shell_widget)); /* hey, I'd like to DEBUG this... */
}
-/* Destroy the X window of frame S. */
+/* Destroy the X window of frame F. */
static void
x_delete_frame (struct frame *f)
{
dpy = XtDisplay (FRAME_X_SHELL_WIDGET (f));
#ifdef EXTERNAL_WIDGET
- expect_x_error (XtDisplay (FRAME_X_SHELL_WIDGET (f)));
+ expect_x_error (dpy);
/* for obscure reasons having (I think) to do with the internal
window-to-widget hierarchy maintained by Xt, we have to call
XtUnrealizeWidget() here. Xt can really suck. */
if (f->being_deleted)
XtUnrealizeWidget (FRAME_X_SHELL_WIDGET (f));
XtDestroyWidget (FRAME_X_SHELL_WIDGET (f));
- x_error_occurred_p (XtDisplay (FRAME_X_SHELL_WIDGET (f)));
+ x_error_occurred_p (dpy);
#else
XtDestroyWidget (FRAME_X_SHELL_WIDGET (f));
/* make sure the windows are really gone! */
Lisp_Object font = FACE_FONT (Vdefault_face, frame, Vcharset_ascii);
if (!EQ (font, Vthe_null_font_instance))
- XtSetArg (al[ac], XtNfont,
- (void *) FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)));
- ac++;
+ {
+ XtSetArg (al[ac], XtNfont,
+ (void *) FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)));
+ ac++;
+ }
}
else
abort ();